介紹
大多數應用程式都附帶一個安裝程式,它將所需的檔案複製到正確的資料夾中,建立登錄檔項,並提供解除安裝例程以(希望)從計算機中徹底刪除應用程式有多種解決方案可以為自主開發的應用程式配備安裝程式。除了Install Shield或Wise等商業產品外,還有開源安
裝工具Nullsoft Scriptable Install System (NSIS)。在本教程中,我將展示使用 NSIS 建立安裝程式的一些簡單步驟
在第一部分中,將介紹一些基礎知識,然後我們建立了第一個真正的安裝程式。第二部分涵蓋解除安裝主題和安裝程式的其他對話方塊。在第三部分中,將為安裝人員提供了更現代的外觀
下載與安裝
NSIS 可以從 NSIS官方 下載。如果你感覺全英文介面不適應或者不符合你的操作習慣,也可以在 我的部落格 中下載簡體中文版本! 然後啟動下載的檔案,它會安裝 NSIS。一般情況下采用預設值完成安裝即可。
基礎與入門
NSIS 建立一個安裝檔案,其中包含所有要安裝的檔案和安裝指令碼。為此,您必須建立一個描述安裝步驟的 NSIS 指令碼。 NSIS 指令碼是一個普通的文字檔案,可以使用任何文字編輯器進行編輯。由於 NSIS 會在錯誤訊息中標定受影響的程式碼行,因此使用可以顯示行號的文字編輯器是必要的。
NSIS wiki有 專門針對 NSIS 的編輯器列表。我在本教程中 使用簡體中文版HM NISEdit
NSIS 指令碼檔案的副檔名為 .nsi。為了更好地閱讀瀏覽與維護,NSIS 指令碼還可以透過在標頭檔案中儲存函式或宏來分為多個檔案。標頭檔案副檔名叫 .nsh 然後在指令碼中使用 !include 命令以整合標頭檔案內容。
行註釋以分號“;”開頭,並在行尾結束。所有命令也在行尾結束。如果一個命令需要跨多行,必須在行尾新增一個反斜槓“\”。
Hello World!
我們建立的第一個“安裝程式”指令碼是著名的“Hello World”示例。為此,必須在文字編輯器中輸入以下文字:
Name "Hello World"
OutFile "helloworld.exe"
Section "Hello World"
MessageBox MB_OK "Hello World!"
SectionEnd
該文字現在儲存在檔名“helloworld.nsi”下。然後就可以啟動編譯器了。直接拖進編譯器(如果沒有 HM NIS Edit)或透過命令列執行下面的命令:
makensis "Hello World.nsi"
如果指令碼能夠編譯且沒有錯誤,則應該在指令碼資料夾中建立一個名為“helloworld.exe”的可執行檔案。啟動此應用程式後,會出現一個安裝程式視窗,上面會出現一個訊息框,訊息框內包含文字“Hello World!”
NSIS HelloWorld 安裝程式
OutFile "C:\Temp\MyApp.exe"
Name "First Installer"
OutFile "Myapp.exe"
InstallDir $PROGRAMFILES\Myapp
Page directory
Page instfiles
Section ""
SetOutPath $INSTDIR
File C:\Windows\system32\notepad.exe
SectionEnd