NSIS 提供大量的範例可以參考,因此學習 NSIS 不會很困難,加上外掛 (plug-in) 程式,我們可以快速地建置相當專業的安裝程式。雖然 NSIS 的指令很多,但不用擔心,實際會用的指令不不超過 20 個,有需要再查找就行了,缺點大概就是只有英文的操作介面吧!除了 NSIS 這個開源軟體之外,還有 Inno Setup 和 WiX Toolset 這兩套免費軟體可以使用,大家有興趣不妨比較看看。
學習 NSIS 最重要的是了解 .nsi 檔案的內容,Script 中有幾個重要觀念如下:
- 安裝程式屬性 (Installer Attributes)
這是用來設定安裝程式的行為,例如安裝路徑、名稱、圖示、版本資訊等,屬於全域的設定。詳細參閱http://nsis.sourceforge.net/Docs/Chapter4.html#4.8 - 頁面 (Pages)
可以將安裝程式顯示的每個視窗當作一個頁面,NSIS 內建數個頁面類型,例如版權頁面用來顯示版權資訊,元件頁面讓用戶選擇安裝元件等。頁面之間是有先後順序的,在撰寫 Script 要特別注意,頁面主要是利用 Page 和 UninstPage 兩個指令進行設定。詳細參閱http://nsis.sourceforge.net/Docs/Chapter4.html#4.5 - 章節 (Sections)
可以把 NSIS 的章節當作程式元件來看,例如一個安裝程式需要安裝兩個軟體,這時候就需要兩個章節,在元件頁面的視窗就會看到兩個軟體元件。比較注意的是每個章節會有一個名稱作為元件名稱,如果是 Uninstall 或字首為un.的名稱則是用在移除的元件。詳細參閱http://nsis.sourceforge.net/Docs/Chapter4.html#4.6 - 指令 (Instructions)
指令占了 NSIS 說明的大部分,包含檔案操作、登錄檔 (Registry) 操作、程式或系統的呼叫執行等等,基本上都是安裝或移除會用到的操作指令。詳細參閱http://nsis.sourceforge.net/Docs/Chapter4.html#4.9 - 函式 (Functions)
將常用的操作定義成函式以避免重複,特別的是 NSIS 定義一些回呼函式,我們可以撰寫一些操作讓 NSIS 執行時呼叫,例如啟動或關閉 NSIS 時執行某些工作。詳細參閱http://nsis.sourceforge.net/Docs/Chapter4.html#4.7 - 編譯時期命令 (Compile Time Commands)
這是用來設定 NSIS 編譯的行為,常用的命令有引用外掛 (plug-in) 程式、定義常數等。詳細參閱http://nsis.sourceforge.net/Docs/Chapter5.html
最後,介紹 NSIS 的安裝,NSIS 有兩種版本,一種是 NSIS ( http://nsis.sourceforge.net/ 網站上面的版本) ,另一種是 Unicode NSIS。如果不需要多國語言,以英語為安裝程式的語言,那麼兩種版本的 NSIS 是沒有什麼差異,但若希望安裝程式顯示中文或其他多國語言,則建議採用 Unicode NSIS,比較不會出現亂碼的情形。必須注意的是,Unicode NSIS的 .nsi 檔案必須是 UTF-8 編碼的 Script ,這樣 Unicode 版本的 MakeNSIS 才能正常編譯。此外,這兩種版本是可以同時安裝在一個系統上的。
###
這裡也有NSIS教學哦!http://seesawworld.blogspot.tw/2016/02/1-nsis.html
回覆刪除