nsis下載地址:http://www.pc6.com/softview/SoftView_14342.html
nsis使用:
啟動NSIS程序主界面,選擇“可視化腳本編輯器(VNISEdit)”菜單,開始制作自己的安裝包

選擇“使用腳本向導創建新的腳本文件”,確定

進步腳本向導,下一步

第一步,這里填寫應用程序的一些基本信息,下一步

第二步,這里是選擇安裝包的圖標,生成的文件名,程序語言等,使用默認的就可以,不需要修改

第三步,選擇一些效果,安裝程序不用搞這么花哨,直接下一步

第四步,指定默認目錄,授權文件有的話就指定,沒有就空着,下一步

第五步,選擇要打包的文件,直接把要打包的目錄內容全部添加進來,注意兩處*.*,以及勾選“包含子目錄”,不要勾選”單獨添加每個文件“,編譯的時候會把所有的文件打包進來的,下一步

第六步,快捷方式的一些設置,下一步

第七步,設置安裝程序之后要運行的內容,下一步

第八步,卸載信息設置,下一步

完成向導,勾選”保存腳本“,以及”轉換文件路徑到相對路徑“,完成

這時就可以看到通過向導生成的腳本,可以在這里繼續修改腳本

修改完腳本以后,點擊菜單”NSIS“-》"編譯並運行",編譯成功后,會生成一個exe文件,安裝包制作完成!

一些常見的問題:
1.問:在安裝的過程中,如何執行BAT文件?
答:按照上面向導生成的腳本,有這么一段腳本,注意我用紅色標注的內容,紅色的部分是在文件復制完成以后執行BAT文件的腳本,注意操作步驟,復制文件結束后,再執行,卸載的時候執行BAT文件順序相反
Section "MainSection" SEC01 SetOutPath "$INSTDIR\*.*" SetOverwrite ifnewer File /r "D:\Program Files\HyperSnap6\*.*" ExecWait "$INSTDIR\install.bat" SectionEnd
2.問:如果修改安裝文件和卸載文件的圖標
答:修改這部分腳本即可
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
nsis自帶的有兩個圖標,我自己感覺稍微能好看一點點(汗,雖然還是很丑,好吧,湊合着用),修改后的
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\Orange-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\Orange-uninstall.ico"
3.問:怎么讓安裝程序以管理員權限運行
答:紅色標注的內容,是在原有代碼的基礎上增加的代碼,表示以管理員權限執行安裝程序
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "Setup.exe"
InstallDir "$PROGRAMFILES\UKey"
ShowInstDetails show
ShowUnInstDetails show
RequestExecutionLevel admin
BrandingText " "
4.問:怎么在桌面添加桌面快捷方式
答:紅色標注的內容,是在原有代碼的基礎上增加的代碼,在桌面上添加一個快捷方式
Section "MainSection" SEC01
SetOutPath "$INSTDIR\*.*"
SetOverwrite ifnewer
File /r "app\*.*"
ExecWait "$INSTDIR\install.bat"
CreateShortCut "$DESKTOP\系統.lnk" "http://localhost/app"
SectionEnd
語法如下:
CreateShortCut 快捷文件.lnk 目標文件 參數 圖標文件 圖標索引號 啟動選項 鍵盤快捷鍵 描述
示例:
CreateShortCut "$DESKTOP\快捷方式.lnk" "$INSTDIR\程序.exe" "" "$INSTDIR\圖標.ico"
對應卸載的時候,也需要添加刪除的代碼
5.問:為何卸載的時候無法刪除開始菜單的快捷方式
答 :需要在安裝和卸載的時候指定安裝或卸載的用戶
; 指定為所有用戶
SetShellVarContext all
; 指定為當前用戶
SetShellVarContext current
