NSIS 是一款自訂性高且支援多種安裝界面語系的軟體封裝的程式,主要特色有:
- 可腳本控制
- 多國語系的安裝介面
- 可用C,C++,或Delphi寫出NSIS的外掛(Plugins)
- 支援ZLib,BZip2,LZMA這三種壓縮方式
- 支援網路安裝模式與檔案Patching
- 相容於目前的所有主要的Windows版本
軟體資訊
使用 NSIS 寫出的要編譯的主代碼,可存成 *.nsi,您也可以使用 NSIS 內建 [Include] 資料夾中的輔助代碼,當然也可自訂。
在 UNICODE 免安裝版中常用的或比較實用的,我差不多都放進去了也有範例檔案,您可以上官網查看,有很多詳細的資料。
以下,我作一個 Splassh Screen 的樣本,因為 NSIS 中的範例大都含有安裝界面,這個範例,只有 Sreen Splash 畫面,對很多人來說應該是實用的。
以下是資料夾結構:
- [SplashScreen Example] →(資料夾)
- —-+ [Sources] →(資料夾)
- —-+ GreenApps.co.ccUSB.ico(這支程式要用的圖示檔)
- —-+ splash.jpg(這支程式要用的 Splash 畫面)
- —-+ SplashScreen.nsi(主要代碼檔案)
//以下開始是 Splash Screen 在 NSIS 的代碼
Name "Splash Screen"
OutFile "../SplashScreen.exe"
SilentInstall Silent
AutoCloseWindow True
WindowIcon Off
Icon "GreenApps.co.ccUSB.ico"
Section "Main"
InitPluginsDir
File /oname=$PLUGINSDIR\splash.jpg "splash.jpg"
newadvsplash::show /NOUNLOAD 2000 1000 500 -2 /BANNER $PLUGINSDIR\splash.jpg
Delete "$PLUGINSDIR\splash.jpg"
Sleep 2000
newadvsplash::stop /WAIT
SectionEnd
//代碼結束
將以上代碼存成:SplashScreen Example\Sources\SplashScreen.nsi,然後啟動 NSIS(最上面那張圖),在[編譯器]項目→選取[編譯 NSI 腳本] (見下圖)。
您可以將 SplashScreen.nsi 直接拖拽到編譯器的視窗中進行編譯,也可以從[功能表]→[檔案]→[載入腳本] 來進行編譯 (如下圖)。
編譯完成後,會在 SplashScreen Example\ 資料夾產生一個我們要的 [SplashScreen.exe] 。
*下載完整範例的 Template
備註:
- 在 Unicode 的下載頁,有一個:a2u.zip 可將 ANSI 的 NSI 檔或外掛 dll 檔,轉換成 Unicode 的編碼,使用方法很簡單,將要轉碼的檔按拖曳到 a2u.exe (解壓後),就行了,是很實用的工具。
- 因為我習慣用 Unicode 版的(對於他國語言比較不會產生亂碼),喜歡 ANSI 版的請到 [這裡] 下載,目前我沒有作免安裝版。
- NSIS 有免費的專用編輯器,且內建中文,因我習慣用 Notepad++ 因此沒有作免安裝版,安裝版可從[這裡]下載,日後我會考慮封裝這個軟體。
- 另外,如果你用 Unicode NSIS 來編譯 NSI,若 NSI 檔中含有全形或中文字元,記得存檔時存成 UTF-8 格式。