|
NSIS安裝制作基礎(chǔ)教程
減小字體
增大字體
作者:佚名 來源:轉(zhuǎn)載 發(fā)布時間:2007-5-8 2:00:55
NSIS簡介:
NSIS 是“Nullsoft 腳本安裝系統(tǒng)”(Nullsoft Scriptable Installation
System)的縮寫,它是一個免費的 Win32
安裝、卸載系統(tǒng)。它的特點:腳本簡潔高效;系統(tǒng)開銷?。划?dāng)然進(jìn)行安裝、卸載、設(shè)置系統(tǒng)設(shè)置、解壓文件等等更不在話下,幾乎可以做所有的事情。更多的功能請
閱讀藍(lán)色網(wǎng)際的《NSIS幫助文檔》。
對于制作NSIS的使用教程,藍(lán)色網(wǎng)際是NSIS方面的專家,她的《NSIS幫助文檔》就是一本NSIS的圣經(jīng),而對初學(xué)者來說,最頭疼的莫過于一大
堆看不懂的代碼,對他們來說無異于一本天書。緣于此,特草此基礎(chǔ)教程,希望NSIS專家們勿見笑,不當(dāng)之處歡迎批評指正以期完善,也希望給初學(xué)者作個鋪
墊。
工具: NIS Edit+Nullsoft Installation System(NSIS)
思路: 腳本向?qū)В薷拇a=個性化安裝包
步驟:
一、利用向?qū)е谱靼惭b包
01、安裝上述兩款,啟動NIS Edit,在“文件”菜單中“新建腳本:向?qū)?#8221;→下一步”,如圖1。

02、設(shè)置應(yīng)用程序信息,如軟件名稱、版本、出版人等,如圖2。當(dāng)然最一個網(wǎng)站可以留空,如果設(shè)置了,則安裝包會生成一個對應(yīng)網(wǎng)址的“Internet 快捷方式”。

03、設(shè)置程序選項,如安裝包圖標(biāo)、安裝程序文件、安裝包語言[這里選“SimChinese”]、用戶圖形界面及壓縮方式等,我們可以選用默認(rèn)值,也可以點擊對應(yīng)項目的按鈕或下拉菜單更改設(shè)置,如圖3。

04、設(shè)置安裝目錄及授權(quán)信息,如圖4后“下一步”。

05、選定程序文件,即我們要打包的文件,可以使用默認(rèn)的“Mainsection”,也可以根據(jù)需要進(jìn)行更改或新建組別,如果組比較多時,你也可以設(shè)置是否“允許用戶選擇要安裝的組件”,如圖5。

完畢后進(jìn)行“添加文件”操作,選定我們要打包的文件,如圖6,完成自動后返回的圖5的界面,執(zhí)行下一步操作。

06、設(shè)置開始菜單中文件夾名稱及快捷方式,這里我們使用默認(rèn)值,如圖7,按“下一步”。

07、指定安裝后要運行的程序,同上用默認(rèn)值并設(shè)置相關(guān)運行參數(shù)及描述,如果你和我一樣懶的話,或不想在安裝運行任何程序,則留空即可,如圖8。

08、這步是有關(guān)卸載程序的相關(guān)信息,如卸載時的提示、卸載的圖標(biāo)等,如圖9。

09、至此完成向?qū)?,如圖10,鉤選“保存腳本”、“轉(zhuǎn)換文件路徑到相關(guān)路徑”及“編譯腳本”。

提示保存腳本路徑并自動編譯腳本,我們可以按或F9運行安裝程序進(jìn)行預(yù)覽,向?qū)Мa(chǎn)生的安裝包效果圖如圖11所示。

二、修改代碼以個性化安裝包
10、選擇可修改之處。軟件LOGO[如圖11A]、安裝包標(biāo)題[圖11B]、圖11C、圖12、圖13。
圖11見上樓 圖12如下

圖13如下

11、修改代碼
①、修改軟件LOGO:在源代碼“ MUI Settings”后面添加下列代碼:
以下是代碼片段:
!define MUI_WELCOMEFINISHPAGE_BITMAP "G:\temp\ pwr.bmp" |
注釋:引號內(nèi)為位圖的路徑,位圖大小大約為165*298
效果圖如圖14所示

②、修改安裝包標(biāo)題,在同上位置添加下列代碼:
以下是代碼片段:
!define MUI_WELCOMEPAGE_TITLE "\r\n PDF2all 5.35d 漢化版" |
注釋:\r\n為換行標(biāo)志
效果圖上樓如圖14所示。
③、修改圖11C中的說明,同上位置添加下列代碼:
以下是代碼片段:
!define MUI_WELCOMEPAGE_TEXT " pdf2all是一個轉(zhuǎn)換器的集合,它能轉(zhuǎn)換包括
doc2pdf (Word to PDF),xls2pdf (Excel Sheet到PDF),ppt2pdf(PowerPoint到
PDF),mdb2pdf (Access到PDF),ps2pdf(PostScript到PDF),pdf2jpg(PDF到
JPEG),pdf2bmp(PDF到BMP),pdf2tiff(PDF到TIFF),pdf2eps(PDF到EPS),pdfMerge(合并
PDF文件),pdf2ppt(PDF到PowerPoint)。\r\n\r\n 軟件漢化:高芳鑾 (Raindy)\r\n\r\n
$_CLICK" |
效果圖如圖14所示。
④、對圖12中的修改,在源代碼:
以下是代碼片段:
ShowInstDetails show
ShowUnInstDetails show |
后添加:
以下是代碼片段:
BrandingText " 軟件漢化:高芳鑾 (Raindy)" |
效果圖如圖15所示。

⑤、在完成添加“漢化說明”,只要在源代碼:
后添加:
以下是代碼片段:
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\漢化說明.txt"
!define MUI_FINISHPAGE_SHOWREADME_TEXT "漢化說明" |
效果所示

⑥、閃屏界面,可以在源代碼中加入下列代碼即可:
A、普通效果
以下是代碼片段:
Function .onInit
SetOutPath $TEMP
File /oname=spltmp.bmp "G:\Temp\Nsisres\splash.bmp"
splash::show 2300 $TEMP\spltmp
Pop $0
FunctionEnd |
B、漸隱閃屏
以下是代碼片段:
Function .OnInit
InitPluginsDir
File /oname=$PLUGINSDIR\splash.bmp "G:\Temp\Nsisres\splash.bmp"
advsplash::show 1500 800 600 -1 $PLUGINSDIR\splash
Functionend |
⑦、背景音樂[貫穿安裝過程]
以下是代碼片段:
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 |
后語:
以上僅是NSIS制作安裝包最基本的操作,供初學(xué)者入門之用,故云“初級篇”。希望不會怡笑大方,更希望藍(lán)MM、陳敏毅老大等NSIS高手的中高級教程。
精品代碼 (^-^)
1、閃屏效果(漸現(xiàn)漸隱)
以下是代碼片段:
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、設(shè)置了自定義安裝、卸載圖標(biāo)
以下是代碼片段:
!define MUI_ICON "G:\Temp\Nsisres\Win 安裝.ico"
!define MUI_UNICON "G:\Temp\Nsisres\Win 卸載.ico"
|