——摘錄自 輕狂編程資源網
NSIS 是“Nullsoft 腳本安裝系統”(Nullsoft Scriptable Installation System)的縮寫,它是一個免費的安裝、卸載系統。它的特點:腳本簡潔高效;系統開銷小;當然進行安裝、卸載、設置系統設置、解壓文件等等更不在話下,幾乎可以做所有的事情。
以下是32位下NSIS製作安裝包最基本的操作,供初學者入門之用。64位可參考:http://blog.csdn.net/yysyangyangyangshan/article/details/7172294
NSIS安裝包下載地址:http://download.csdn.net/detail/yysyangyangyangshan/3994241,版本高一些,但是製作安裝包基本步驟都一樣。
思路
腳本嚮導+修改代碼=個性化安裝包
步驟
一、利用嚮導製作安裝包
01、安裝NSISv2.11簡體中文增強版便已包含上述兩款軟件。安裝完成後啓動HM VNISEdit,選擇“文件”菜單中“新建腳本:嚮導”,如圖:
02、在彈出的“NSIS腳本嚮導”對話框中單擊“下一步”按鈕,如圖:
03、設置應用程序信息,如軟件名稱、版本、出版人等。當然最後一個網站可以留空,如果設置了,則安裝包會生成一個對應網址的“Internet 快捷方式”。如圖:
04、設置程序選項,如安裝包圖標、安裝程序文件、安裝包語言[這裏選“SimChinese”]、用戶圖形界面及壓縮方式等,我們可以選用默認值,也可以點擊對應項目的按鈕或下拉菜單更改設置,如圖:
05、設置是否使用“閃屏”和“音樂”效果,如圖:
06、設置應用程序默認安裝目錄及授權信息,授權文件建議使用.txt或。rtf格式。如圖:
07、添加應用程序文件,即我們要打包的文件,可以使用默認的“Mainsection”,也可以根據需要進行更改或新建組別,如果組比較多時,你也可以設置是否“允許用戶選擇要安裝的組件”,如圖:
完畢後進行“添加文件”操作,選定我們要打包的文件,如圖:
全部添加完成後返回下圖界面,執行下一步操作。
08、設置開始菜單中文件夾名稱及快捷方式,這裏我們使用默認值,如圖,按“下一步”。
09、指定安裝後要運行的程序,同上用默認值並設置相關運行參數及描述,如果你和我一樣懶的話,或不想在安裝後運行任何程序,則留空即可,如圖:
10、這步是有關卸載程序的相關信息,如卸載時的提示、卸載的圖標等,如圖:
11、至此完成嚮導,如圖,鉤選“保存腳本”、“轉換文件路徑到相關路徑”及“編譯腳本”。
提示保存腳本路徑並自動編譯腳本,我們可以按或F9運行安裝程序進行預覽,嚮導產生的安裝包效果圖如圖所示:
二、修改代碼以個性化安裝包
1、修改軟件LOGO:
在源代碼
- ; MUI 預定義常量
- !define MUI_ABORTWARNING
- !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
- !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
; MUI 預定義常量
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
下面添加下列代碼:
- !define MUI_WELCOMEFINISHPAGE_BITMAP "E:\其他\我的文檔\輕狂程序\flibpoto\flibpoto.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP "E:\其他\我的文檔\輕狂程序\flibpoto\flibpoto.bmp"
註釋:引號內爲位圖的路徑
效果如圖:
2、修改安裝包標題:
接着在上面的位置下面添加如下代碼:
- !define MUI_WELCOMEPAGE_TITLE "\r\n 輕狂圖片瀏覽器v1.0安裝嚮導"
!define MUI_WELCOMEPAGE_TITLE "\r\n 輕狂圖片瀏覽器v1.0安裝嚮導"
註釋:\r\n爲換行標誌
效果如圖:
3、修改軟件說明,接着在上面的位置下面添加如下代碼:
- !define MUI_WELCOMEPAGE_TEXT " 輕狂圖片瀏覽器是少輕狂開發的一個圖片瀏覽編輯軟件,能夠方便地查看並編輯圖片文件。\r\n\r\n 軟件作者:少輕狂\r\n\r\n 官方網址:www.flighty.cn\r\n\r\n <pre class="csharp" name="code">{1}</pre><br>
- CLICK"
- <pre></pre>
- <p> 效果如圖: </p>
- <p> <img alt="" src="http://hi.csdn.net/attachment/201201/3/0_1325553177Fd0y.gif"></p>
- <p> 4、在源代碼: </p>
- <pre class="csharp" name="code">ShowInstDetails show
- ShowUnInstDetails show </pre>
- <p>後添加:</p>
- <pre class="csharp" name="code">BrandingText " 輕狂編程資源網 www.flighty.cn"</pre>
- <p> 效果如圖: </p>
- <p> <img alt="" src="http://hi.csdn.net/attachment/201201/3/0_1325553288DliL.gif"></p>
- <p> 5、在完成頁面添加“安裝說明”: </p>
- <p> 只要在源代碼: </p>
- <pre class="csharp" name="code">; MUI 預定義常量</pre>
- <p> 下面添加: </p>
- <pre class="csharp" name="code">!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\安裝說明.txt"
- !define MUI_FINISHPAGE_SHOWREADME_TEXT "查看 安裝說明" </pre>
- <p> 效果如圖: </p>
- <p> <img alt="" src="http://hi.csdn.net/attachment/201201/3/0_1325553372Nzb6.gif"></p>
- <p> 6、閃屏界面,可以在源代碼中加入下列代碼即可:</p>
- <p>A、普通效果 </p>
- <pre class="html" name="code">Function .onInit
- SetOutPath $TEMP
- File /oname=spltmp.bmp "G:\Temp\Nsisres\splash.bmp"
- splash::show 2300 $TEMP\spltmp
- Pop $0
- FunctionEnd</pre>
- <p>B、漸隱閃屏 </p>
- <pre class="html" name="code">Function .OnInit
- InitPluginsDir
- File /oname=$PLUGINSDIR\splash.bmp "G:\Temp\Nsisres\splash.bmp"
- advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash
- Functionend
- </pre>
- <p>7、背景音樂[貫穿安裝過程] </p>
- <pre class="html" name="code">Var hmci
- Function .OnInit
- InitPluginsDir
- SetOutPath $PLUGINSDIR
- File "G:\Temp\Nsisres\music.mp3" [說明:源MP3的存放路徑]
- System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\music.mp3") i .r0
- SendMessage $0 0x0465 0 "STR:play repeat"
- System::Call user32.dll::ShowWindow(i r0, i 0)
- StrCpy $hmci $0
- Functionend
- Section
- ;add your codes
- SendMessage $hmci 0x0010 0 0
- Sectionend</pre>
- <p>附錄 </p>
- <pre class="html" name="code"> 1、閃屏效果(漸現漸隱)
- Function .OnInit
- InitPluginsDir
- File /oname=$PLUGINSDIR\splash.bmp c:\test.bmp
- advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash
- Functionend
- 2、背景音樂1(貫穿安裝全過程)
- Function .OnInit
- InitPluginsDir
- SetOutPath $PLUGINSDIR
- File "c:\a.mp3"
- System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\a.mp3") i .r0
- SendMessage $0 0x0465 0 "STR:play repeat"
- System::Call user32.dll::ShowWindow(i r0, i 0)
- StrCpy $hmci $0
- Functionend
- Section
- ;add your codes
- SendMessage $hmci 0x0010 0 0
- Sectionend
- 3、背景音樂2
- Section/Function
- SetOutPath $PLUGINSDIR
- File $WINDIR\MEDIA\chimes.wav
- BgImage::Sound /NOUNLOAD /WAIT "$PLUGINSDIR\chimes.wav"
- BgImage::Clear /NOUNLOAD
- Sectionend/Functionend
- 4、閃屏效果[漸隱]+背景音樂[全程]
- outfile test.exe
- Var hmci
- Function .OnInit
- InitPluginsDir
- SetOutPath $PLUGINSDIR
- File "c:\a.mp3"
- System::Call msvfw32.dll::MCIWndCreate(i 0, i 0,i 0x0070, t "$PLUGINSDIR\a.mp3") i .r0
- SendMessage $0 0x0465 0 "STR:play repeat"
- System::Call user32.dll::ShowWindow(i r0, i 0)
- StrCpy $hmci $0
- File /oname=$PLUGINSDIR\splash.bmp c:\test.bmp
- advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash
- Functionend
- Section
- ;add your codes
- sleep 5000
- SendMessage $hmci 0x0010 0 0
- Sectionend
- 5、如何把安裝頁面中的“Setup將安裝……”中的Setup改成別的字
- 只需在
- !insertmacro MUI_PAGE_DIRECTORY
- 前面添加一行
- !define MUI_DIRECTORYPAGE_TEXT_TOP "你需要的文字"
- 6、設置了自定義安裝、卸載圖標
- !define MUI_ICON "G:\Temp\Nsisres\Win 安裝.ico"
- !define MUI_UNICON "G:\Temp\Nsisres\Win 卸載.ico"</pre>
- <p><br>
- </p>
- <p> <br>
- </p>
- <p> </p>
- <pre></pre>
- <pre></pre>
- <pre></pre>