NSIS製作安裝文件攻略

NSIS 大體佈局如下:
預設參數(包括外部壓縮器選擇、編譯選項、宏定義以及文件包含等)
普通安裝設置
自定義函數
安裝程序區域內容
安裝程序回調函數及其相關函數定義
卸載程序區域內容
卸載程序回調函數及其相關函數定義
一個示例腳本
; study.nsi
;
; 以下腳本用以生成 study.exe 文件
; 它包含有授權協議
;
; 安裝時若發現應用程序正在運行,安裝程序會提示並替用戶關閉應用程序
; 安裝成功後會自動運行應用程序
;
; 啓用新的 Modern UI 的宏指令語法,原先的部分指令將被禁止以防止重複
; 我會盡量展示如何基本指令的用法。當然宏指令也會與一些基本指令發生重
; 復定義的情況,不過 NSIS 照樣能編譯成功.
; 其中的一些路徑、文件你可以根據需要更改
; 啓用外部壓縮工具(這裏我們不用,原因看第 10 步)
;!define HAVE_UPX
; 若啓用了外部壓縮工具,這進行可執行文件頭的壓縮
!ifdef HAVE_UPX
; 用 UPX 壓縮可執行文件頭(用其他的相關工具也行)
!packhdr tmp.dat "E:UPX\upx --best tmp.dat"
!endif
; 編譯選項
; 設置覆蓋標記
SetOverwrite on
; 設置壓縮選項
SetCompress auto
; 選擇壓縮方式
SetCompressor bzip2
; 設置數據塊優化
SetDatablockOptimize on
; 設置數據寫入時間
SetDateSave on
; 相關數據預設
; 軟件的名字,後面的${NAME}調用這個名字
!define NAME "NSIS"
!define NAME_FULL "全方位掌握 NSIS 的使用"
!verbose 3
; 包含窗口消息定義文件
!include "${NSISDIR}\Examples\WinMessages.nsh"
; 包含新界面的宏指令文件
!include "${NSISDIR}\Examples\Modern UI\ModernUI.nsh"
; 包含標牌位圖宏指令文件
!include "${NSISDIR}\Examples\branding.nsh"
!verbose 4
!define CURRENTPAGE $9
!define TEMP1 $R0
!define TEMP2 $R1
; 插入安裝界面宏定義(這裏我禁用了,啓用也沒問題。編譯照樣通過。後面我都定義過了)
;!insertmacro MUI_INTERFACE "modern2.exe" "adni18-installer-C-no48xp.ico" "adni18-uninstall-C-no48xp.ico" "modern.bmp" "smooth"
; 安裝程序設置
; 輸出文件
OutFile "F:\study.exe"
; 安裝程序名稱
Name /LANG=2052 "NSIS"
; 替換對話框樣式
ChangeUI all "${NSISDIR}\Contrib\UIs\modern2.exe"
; 啓用 WindowsXP 的視覺樣式
XPstyle on
;設置字體
SetFont 宋體 9
; 標題名稱
Caption /LANG=2052 "全方位掌握 NSIS 的使用"
; 標牌的內容
BrandingText /LANG=2052 /TRIMCENTER "Shao Hao"
; 安裝程序圖標
Icon "F:\12\QCDIcon.ico"
; 安裝程序顯示標題
WindowIcon on
; 添加標牌位圖(放在頂部用 TOP 參數。後面接高度)
AddBrandingImage LEFT 105
; 設定漸變背景
BGGradient off
; 設置安靜安裝模式
;SilentInstall normal
; 設置安靜卸載模式
;SilentUnInstall normal
; 執行 CRC 檢查(最好用 on 打開。關閉是因爲還要修改安裝程序,看第 10 步)
CRCCheck off
; 加載相應的語言文件
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"
; 替換各個對話框標題的文字
SubCaption /LANG=2052 0 "授權協議"
SubCaption /LANG=2052 1 "安裝選項"
SubCaption /LANG=2052 2 "安裝目錄"
SubCaption /LANG=2052 3 "正在安裝"
SubCaption /LANG=2052 4 "完成安裝"
; 替換默認按鈕的文字
MiscButtonText /LANG=2052 "< 上一步" "下一步 >" "取消" "關閉"
; 替換“安裝”按鈕的文字
;InstallButtonText /LANG=2052 "安裝"
; 替換當文件無法被寫入時的警告窗的文字
FileErrorText /LANG=2052 "無法寫入文件$\r$\n$0$\r$\n請確認文件屬性不是隻讀且未被使用中!"
; 默認的安裝目錄
InstallDir "$PROGRAMFILES\QCD 3"
; 如果可能的化從註冊表中監測安裝路徑
InstallDirRegKey HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" \
"UninstallString"
; 授權協議頁面
LicenseText /LANG=2052 "NSIS 是免費軟件。安裝前請先閱讀以下協議條款" "我同意"
; 使用授權協議文本
LicenseData /LANG=2052 "F:\12\License.txt"
; 設置授權協議頁面的背景色
;LicenseBkColor 000000
; 選擇要按安裝的組件
ComponentText /LANG=2052 "現在將安裝 ${NAME_FULL}到您的計算機:" "請選擇安裝類型" "或選擇您希望安裝的組件"
InstType "完全安裝(都在了)"
InstType "典型安裝"
InstType /LANG=2052 /CUSTOMSTRING=自定義?
;InstType /LANG=2052 /NOCUSTOM
;InstType /COMPONENTSONLYONCUSTOM
CheckBitmap "${NSISDIR}\Contrib\Icons\modern.bmp"
; 替換顯示磁盤空間信息的文字
SpaceTexts /LANG=2052 "所需空間:" "可用空間:"
; 提示用戶輸入目錄的文本
; DirShow hide
; 替換顯示選擇安裝目錄的文字
DirText /LANG=2052 "請選擇 ${NAME} 的安裝路徑:" "選擇目錄用以安裝 ${NAME}:" "瀏覽..."
; 是否允許安裝在根目錄下
AllowRootDirInstall false
; 安裝信息的顏色
;InstallColors 000000 FFFFFF
; 安裝進度條顯示方式
InstProgressFlags smooth colored
; 完成後自動關閉安裝程序
AutoCloseWindow true
; 顯示“顯示詳細細節”對話框
ShowInstDetails hide
; 替換“顯示細節”按鈕的文字
DetailsButtonText /LANG=2052 "顯示細節"
; 替換“完成”按鈕的文字
CompletedText /LANG=2052 "已完成"
; 卸載程序設置
; 替換卸載程序的文字
UninstallText /LANG=2052 "現在將從你的系統中卸載 ${NAME}:" "卸載目錄:"
; 卸載程序圖標
UninstallIcon "F:\12\UnQCDIcon.ico"
; 替換卸載程序標題的文字
UninstallCaption /LANG=2052 "卸載 ${NAME}"
; 替換卸載程序每頁按鈕的文字
UninstallSubCaption /LANG=2052 0 ":確認"
UninstallSubCaption /LANG=2052 1 ":正在刪除文件"
UninstallSubCaption /LANG=2052 2 ":完成"
; 卸載程序顯示方式
ShowUninstDetails hide
; 替換“卸載”按鈕的文字
UninstallButtonText /LANG=2052 "卸載"
; 安裝程序內容及其相關的回調函數
; 安裝程序內容
Section /e "!主要程序(必須安裝)" SecCore
SectionIn 1 2 RO
; 設置輸出路徑,每次使用都會改變
SetOutPath $INSTDIR
; 循環包含目錄下全部內容
File /r "F:\12\1\*.*"
; 只包含一個文件
File "F:\12\gf.gif"
; 處理動態連接庫文件
IfFileExists "$INSTDIR\1.dll" 0 NoFile1
; 取消組件註冊
UnRegDll "$INSTDIR\1.dll"
Delete "$INSTDIR\1.dll"
NoFile1:
File "F:\12\1.dll"
; 註冊組件
RegDLL "$INSTDIR\QCDIconMgr.dll"
; 寫入軟件註冊鍵值
WriteRegStr HKLM "Software\NSIS\NSIS" "" "$INSTDIR"
; 爲 Windows 卸載程序寫入鍵值
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayName" "NSIS(只用於移除)"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "UninstallString" '"$INSTDIR\uninst.exe"'
; 寫入生成卸載程序(可多次使用)
WriteUninstaller "$INSTDIR\uninst.exe"
SectionEnd
Section /e "擴展(可選)" SecUpdate
SectionIn 1
SetOutPath "$INSTDIR\Plugins"
File "F:\12\qcdplus\Plugins\2.dll"
File /r "F:\12\qcdplus\Plugins\3"
SectionEnd
SubSection /e "選項" SecOptions
Section /e "創建桌面圖標" SecDesktopShortCut
SectionIn 1 2
SetOutPath "$INSTDIR\Plugins"
CreateShortCut "$DESKTOP\NSIS.lnk" "$INSTDIR\gf.gif"
WriteUninstaller "$INSTDIR\uninst.exe"
SectionEnd
Section /e "創建快速啓動欄圖標" SecQuickbarShortCut
SectionIn 1 2
SetOutPath "$INSTDIR\Plugins"
CreateShortCut "$QUICKLAUNCH\NSIS.lnk" "$INSTDIR\gf.gif"
WriteUninstaller "$INSTDIR\uninst.exe"
SectionEnd
Section /e "創建 NSIS 程序組" SecShortCutGroup
SectionIn 1 2
SetOutPath "$INSTDIR\Plugins"
CreateDirectory "$SMPROGRAMS\NSIS"
CreateShortCut "$SMPROGRAMS\QCD Player\gf.lnk" "$INSTDIR\gf.gif"
WriteUninstaller "$INSTDIR\uninst.exe"
SectionEnd
SubSectionEnd
Section "-Run"; 運行?
ExecWait '"$INSTDIR\2.exe" -p'
WriteINIStr "$INSTDIR\NSIS.ini" "2" "Language" "Chinese"
Exec "$INSTDIR\2.exe"
ExecShell open "$INSTDIR\漢化說明.htm"
SectionEnd
Section ""
;Invisible section to display the Finish header
!insertmacro MUI_FINISHHEADER SetHeader
SectionEnd
; 安裝程序初始化設置
Function .onInit
; 發現有程序正在運行時提示退出後繼續運行
loop:
FindWindow $R0 "NSIS"
IntCmp $R0 0 done
MessageBox MB_OKCANCEL \
"NSIS 正在運行。$\n點擊“確定”按鈕會關閉 NSIS 然後繼續安裝,點擊“取消”按鈕將退出安裝程序" \
IDOK NoAbort
Abort
NoAbort:
SendMessage $R0 1029 0 0
; 稍等後繼續檢測直至檢測不到或用戶選擇取消
Sleep 444
Goto loop
done:
; 顯示 Logo 畫面
SetOutPath $TEMP
File /oname=qcd_logo.bmp "F:\12\logo.bmp"
File /oname=magiclime.exe "${NSISDIR}\Bin\magiclime.exe"
ExecWait '"$TEMP\magiclime.exe" qcd_logo.bmp'
Delete "$TEMP\magiclime.exe"
Delete "$TEMP\qcd_logo.bmp"
; 初始化標牌位圖
!insertmacro BI_INIT $R0
FunctionEnd
; 安裝程序主界面的相關文本
Function SetHeader
!insertmacro MUI_HEADER_INIT
!insertmacro MUI_HEADER_START 1
!insertmacro MUI_HEADER_TEXT 2052 "授權協議" "安裝 ${NAME} 之前,請認真閱讀一下授權條款."
!insertmacro MUI_HEADER_STOP 1
!insertmacro MUI_HEADER_START 2
!insertmacro MUI_HEADER_TEXT 2052 "選擇組件" "請選擇你要安裝的組件."
!insertmacro MUI_HEADER_STOP 2
!insertmacro MUI_HEADER_START 3
!insertmacro MUI_HEADER_TEXT 2052 "選擇安裝位置" "爲 ${NAME} 選擇一個安裝目錄."
!insertmacro MUI_HEADER_STOP 3
!insertmacro MUI_HEADER_START 4
!insertmacro MUI_HEADER_TEXT 2052 "安裝" "${NAME} 已經安裝,請等待."
!insertmacro MUI_HEADER_STOP 4
!insertmacro MUI_HEADER_START 5
!insertmacro MUI_HEADER_TEXT 2052 "完成" "安裝順利完成."
!insertmacro MUI_HEADER_STOP 5
!insertmacro MUI_HEADER_END
FunctionEnd
; 初始化安裝程序對話框的顯示文本
Function .onInitDialog
!insertmacro MUI_INNERDIALOG_INIT
!insertmacro MUI_INNERDIALOG_START 1
!insertmacro MUI_INNERDIALOG_TEXT 2052 1040 "如果你同意協議中的所有條款,選擇“我同樣”繼續安裝,如果你選擇了“取消”,安裝程序將終止,只有接受條款才能安裝 ${NAME}."
!insertmacro MUI_INNERDIALOG_STOP 1
!insertmacro MUI_INNERDIALOG_START 2
!insertmacro MUI_INNERDIALOG_TEXT 2052 1042 "描述"
!insertmacro MUI_INNERDIALOG_TEXT 2052 1043 "移動你的鼠標到組件上,便可以見到相關的描述."
!insertmacro MUI_INNERDIALOG_STOP 2
!insertmacro MUI_INNERDIALOG_START 3
!insertmacro MUI_INNERDIALOG_TEXT 2052 1041 "目標文件夾"
!insertmacro MUI_INNERDIALOG_STOP 3
!insertmacro MUI_INNERDIALOG_END
FunctionEnd
; 轉到下頁面時的處理
Function .onNextPage
!insertmacro MUI_NEXTPAGE_OUTER
!insertmacro MUI_NEXTPAGE SetHeader
; 標牌位圖設置
!insertmacro BI_NEXT
FunctionEnd
; 轉到上一頁面時的處理
Function .onPrevPage
!insertmacro MUI_PREVPAGE
; 標牌位圖設置
!insertmacro BI_PREV
FunctionEnd
; 鼠標移到指定組件時的顯示處理
Function .onMouseOverSection
; 用宏指令設置安裝自己的註釋文本
!insertmacro MUI_DESCRIPTION_INIT
!insertmacro MUI_DESCRIPTION_TEXT 2052 ${SecCore} "安裝主應用程序"
!insertmacro MUI_DESCRIPTION_TEXT 2052 ${SecUpdate} "安裝 NSIS 的更新或新增插件"
!insertmacro MUI_DESCRIPTION_TEXT 2052 ${SecOptions} "選擇 NSIS 的其他安裝選項,例如:創建快捷方式和應用程序組的"
!insertmacro MUI_DESCRIPTION_TEXT 2052 ${SecDesktopShortCut} "在用戶的桌面上創建 NSIS 的快捷方式"
!insertmacro MUI_DESCRIPTION_TEXT 2052 ${SecQuickbarShortCut} "在用戶的快速欄裏創建 NSIS 快捷方式"
!insertmacro MUI_DESCRIPTION_TEXT 2052 ${SecShortCutGroup} "在用戶的開始菜單的程序中創建 NSIS 的快捷方式組"
!insertmacro MUI_DESCRIPTION_END
FunctionEnd
; 安裝成功完成後的設置
Function .onInstSuccess
; 自己加吧:)
FunctionEnd
; 放棄安裝時警告窗口的顯示信息
Function .onUserAbort
!insertmacro MUI_ABORTWARNING 2052 "你確定要推出 ${NAME} 的安裝嗎?"
!insertmacro MUI_ABORTWARNING_END
FunctionEnd
; 安裝程序標牌位圖列表
!insertmacro BI_LIST
!insertmacro BI_LIST_ADD "F:\12\Brand1.bmp" /RESIZETOFIT
!insertmacro BI_LIST_ADD "F:\12\Brand2.bmp" /RESIZETOFIT
!insertmacro BI_LIST_ADD "F:\12\Brand3.bmp" /RESIZETOFIT
!insertmacro BI_LIST_END
; 卸載程序及其相關回調函數
; 卸載程序內容
Section "Uninstall"
ExecWait '"$INSTDIR\12.exe" /un'
; 循環刪除文件直至刪除文件夾
RMDir /r "$SMPROGRAMS\NSIS"
UnRegDLL "$INSTDIR\2.dll"
Delete "$INSTDIR\QCDIconMgr.dll"
Delete "$INSTDIR\*.*"
DeleteRegKey HKLM "Software\NSIS"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS"
MessageBox MB_YESNO|MB_ICONQUESTION \
"是否連插件目錄也要刪除?$\n(若您要保留這些文件,請點擊下面的“否”按鈕)" \
IDNO NoDelete
; 全刪光!!!
RMDir /r "$INSTDIR"
NoDelete:
SectionEnd
; 定義卸載程序標牌位圖
!define BI_UNINSTALL
!include "${NSISDIR}\Examples\branding.nsh"
; 初始化卸載程序對話框的設置
Function un.onInit
; 初始化標牌位圖
!insertmacro BI_INIT $R0
FunctionEnd
; 卸載程序主界面的相關文本
Function un.SetHeader
!insertmacro MUI_HEADER_INIT
!insertmacro MUI_HEADER_START 1
!insertmacro MUI_HEADER_TEXT 2052 "卸載 ${NAME}" "${NAME_FULL} 將從你的系統裏移除."
!insertmacro MUI_HEADER_STOP 1
!insertmacro MUI_HEADER_START 2
!insertmacro MUI_HEADER_TEXT 2052 "卸載" "${NAME} 正在被卸載,請等待."
!insertmacro MUI_HEADER_STOP 2
!insertmacro MUI_HEADER_START 3
!insertmacro MUI_HEADER_TEXT 2052 "完成" "${NAME_FULL} 已從你的系統中移除."
!insertmacro MUI_HEADER_STOP 3
!insertmacro MUI_HEADER_END
FunctionEnd
; 初始化卸載程序對話框時的處理
Function un.onInitDialog
; 自己加:)
FunctionEnd
; 卸載程序轉到下一頁時的處理
Function un.onNextPage
!insertmacro MUI_NEXTPAGE_OUTER
!insertmacro MUI_NEXTPAGE un.SetHeader
; 標牌位圖設置
!insertmacro BI_NEXT
FunctionEnd
; 卸載程序完成時的處理
Function un.onUninstSuccess
; 再加^_^
FunctionEnd
; 放棄卸載程序時的處理
Function un.onUserAbort
FunctionEnd
; 卸載程序標牌位圖列表
!insertmacro BI_LIST
!insertmacro BI_LIST_ADD "F:\12\UnBrand1.bmp" /RESIZETOFIT
!insertmacro BI_LIST_ADD "F:\12\UnBrand2.bmp" /RESIZETOFIT
!insertmacro BI_LIST_END
; 結束
來源地址:http://www.cnrui.cn/blog/article.asp?id=49
分類:技術資料 |  Tag:NSIS |  沒有評論
官方 NSIS 插件全集簡單介紹
2007-11-22 10:29:44 | 作者:haijd
官方 NSIS 插件全集簡單介紹
Math plugin (contain examples)
數學函數插件,NSIS 軟件已包含,這個不用說了吧,計算的時候必用。
System plugin (contain examples)
調用其他動態鏈接庫(*.dll)插件,NSIS 軟件已包含,超級好用,把 windows 的 API 發揮到極限。
A Plugin for controlling Internet Explorer
控制 IE 瀏覽器操作的插件,例如打開瀏覽器,關閉瀏覽器等等。
AccessControl plugin
存取控制插件,只適用於 Win2000 或以上。
BDE Alias
Borland BDE 數據庫別名創建修改插件(DELPHI 數據庫程序安裝製作的好東東)
BitTorrent downloads for NSIS
BT 下載的插件,呵呵,作單獨下載某個 BT 文件的好東西
CabDLL: Plugin to extract all the files from a cabinet (CAB)
從 CAB 壓縮包中抽取文件的插件
Change Variable Plugin
可用來改變 $TEMP 的臨時目錄的插件,打破只能由安裝程序自動選擇系統 temp 路徑。
ChangeRes Plugin
改變屏幕分辨率,顏色數,刷新率的插件。
ComPlusAdmin
COM+ 組件的添加刪除插件
CPUDesc
獲取 CPU 相關參數的插件,例如 3DNOW, MMX 支持等等
CRC generator plugin
用來獲取文件標準 ZIP CRC32(CRC 校驗值) 的插件。
Crypto Plugin
用來加密的插件,算法包括 MD5, SHA1, MD2, MD4,可加密文字,文件,呵呵,絕對可以作出一個需要序列號的安裝程序,即使別人有解包工具也需要懂得破解算法加密才行,否則只會得到一堆亂碼字節。
Customisable MessageBox Plugin
可自定義消息對話框的插件,呵呵,可以作出4個按鈕的消息框。
Detect Windows Version
檢查windows系統版本的插件,在嚴格需要指定系統的時候有用。
Dialogs 2.3
調用系統標準對話框插件,例如打開,保存等等的標準對話框。
DumpState
可列出安裝過程中變量,堆棧裏面內容的插件,用來調試之用超一流。
Enumerate CD-ROM Drives
列舉當前可用的CD-ROM列表。
ExecDos
創建控制檯環境運行DOS程序的插件。
Execute & Set Priority
以進程方式運行程序,而且可以指定運行優先級的插件。
ExLicensePage
擴展 License 頁的插件,是否有很多 License 要用戶同意才能安裝呢,這個東東就是爲了解決這個問題的,實現多頁 License 效果。
external install file system
分卷安裝製作的插件,用 NSIS把安裝程序做到多個軟盤中已經不是很困難的事了。
ExtractDLL
解壓 compressfile.exe 壓縮的文件,在用 NSISdl 插件製作在線升級程序時有用。只支持 zlib 算法。
ExtractDLLEx Plugin (LZMA containerfile decompressor)
同上,支持 LZMA 算法。這個插件和上面那個插件出現的目的是爲了,在線升級程序多數人都要把升級文件打包以減少體積,而 NSIS 並沒有屬於自己的解壓插件,所以不得不把一些沒有精簡過代碼的解壓程序來作爲客戶端的解壓工具,這是不可取的,所以這兩個插件隨之出現。
Find Process By Name
查找進程的專用插件,呵呵,這下不用自己用API函數來互斥來知道進程是否運行了。
FloatOP plugin
IntOp 只能操作整數,該插件就是爲了解決浮點數運算問題的。
Help Support Plugin
這是一個可以令到你點擊一個按鈕或按“F1”就可以通過關鍵字調出相關幫助中的相關章節的插件。
InetLoad
一個類似 NSISdl 的下載插件,支持 http 和 ftp ,基於 MS WinInet API,對於在線升級程序製作有一定用處。
InstallOptionsEx 2.4.2 beta 1
擴展自原 InstallOptions 插件,更多控件支持 Animation(動畫), ProgressBar(進度條), TrackBar(位置調節), IPAddress(IP 輸入), DateTime(日期時間編輯框), MonthCalendar(日曆), UpDown(上下調節), TreeView(樹形結構視圖框)。還有其他改進功能。
Internet plugin
網絡功能插件,取本地計算機的主機名,IP 地址,還有 urls 的狀態代碼,例如:404 就代表 urls 不存在。
IPTest
檢測 IP 段中的可用地址。可用來檢測一個IP是否存在並可用。
KillProcDLL Manual
清除進程的插件,既然能檢測出阻礙安裝過程的進程當然少不了這個清除進程的東東啦。
Lazarus Registration Component
可添加一個輸入序列號和註冊碼的頁面,呵呵,想做一個要輸入註冊碼的安裝程序嗎?這個插件就是用來這樣做的。
Marquee (text scroll)
可以在 INSTFILES 頁面(安裝程序進度列表頁面)的列表中添加滾動條的插件。還可以改列表的顏色,字體,邊框等等
MD5 plugin
md5 插件,著名的校驗算法插件,用來檢驗一個文件的版本是否對應的最好插件。
MSIBanner - **Plugin to display a dialog with a progress bar
一個仿效標準 MSI 安裝程序(Windows Installer) banner 的界面插件。
new directory selection page
安裝目錄選擇頁面插件,能檢測是否滿足需要空間大小。
NSIS Debugger
NSIS 調試器插件,用來調試腳本用的。
NSIS-Date 1.0
取本地時間的插件,在 API 函數中也能做到,但是這個插件是推薦用的,因爲它包括了處理例如夏令時這類的時間問題。
NSISLog
寫安裝日誌的插件,用來記錄安裝過程,從而準確刪除安裝過的文件的好插件。
nsRandom
能產生隨機數的插件,某些時候,這個插件是很有用的。
nsScreenshot
保存屏幕截圖爲一個BMP文件的插件。可全屏幕截圖或指定窗口截圖
nsWeb: A plugin to display the web browser control in a custom page
可以插入一個支持 HTML 的頁面插件,也可以以彈出窗口的方式顯示,做廣告的東東。
NxS MSI LoaderDlg
MSIBanner 只是個仿效插件,所以就產生了這個插件,要求完美的人總會有的。
ODBC Configuration Manager
ODBC 數據源配置管理插件。製作數據庫安裝程序的又一個好東東。
Perl plugin - v. 1.3
這是一個允許在 NSIS 安裝程序中執行 Perl 代碼的插件。
Plugin Tester (or Wrapper)
這是個能使用命令行參數調用其他插件中函數的插件。
Processes plug-in
查找和清除進程(包括設備驅動)的插件。(適用:WinNT,Win2K,WinXP,Win2003 Server)
Python Interpreter
這是一個允許在 NSIS 安裝程序中執行 Python 代碼的插件。
Refresh Desktop Plugin
這是一個刷新桌面的插件,有時候程序安裝了桌面圖標,爲什麼用戶看不見呢,那就需要這個插件了。
Service Control Manager plugin (install services and drivers on NT/2K/XP)
安裝服務程序(包括查看服務程序狀態,停止,運行操作)的插件。適用:NT/2K/XP
ShellLink plugin
這是允許你讀取一個快捷方式文件(*.lnk)的插件,那樣你就可以知道這個快捷方式的情況,例如指向哪個文件等等。
System hardware detection
檢查系統硬件信息的插件,目前能檢測 CPU 名稱,CPU 速度,系統內存大小,顯卡名稱,顯卡內存大小。
System Tray NotifyIcon creator plugin
可以產生一個右下角區域中圖標的插件,超級酷,估計沒有人做過這樣的安裝程序吧。^__^,可以自定義圖標,自定義文字和安裝進度百分比。
TAPI Helper Plugin
用來檢測 modem 的 ID 和名稱的插件。
ToolTips
可以設置安裝程序的提示窗口(例如按鈕的幫助提示,正常情況下是淺黃背景色)的前景和背景顏色。
TTF Font Name Plugin
能夠獲取 TTF 字體在計算機中顯示的名字的插件,這是個方便製作安裝字體的插件。
UnTGZ
這是一個解壓縮插件。(.tgz/.tar.gz)
UserMgr Plugin
這是一個能夠管理用戶帳號和用戶組的插件。例如創建計算機用戶或計算機用戶組等的功能。
VPatch
用來製作補丁的插件,能夠根據前後版本的不同,根據差異製作出體積非常小的補丁安裝程序。
Write arbitrary sized, runtime assigned binary data to Registry
在註冊表中寫入二進制值的插件,限制最大 511 字節。
xtInfoPlugin - System Information Plugin
檢查系統信息插件。
ZipDLL
解壓 Zip 壓縮文件的插件。
以上插件都是體積非常小的,務求做到了體積小,功能全的效果,以目前來說,NSIS 是安裝程序小且功能齊全多樣的安裝程序製作軟件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章