NSIS打包工具用法介绍与NSIS相关软件下载
1、介紹
NSIS(Nullsoft Scriptable Install System)是一個開源的 Windows 系統下安裝程序制作程序。它提供了安裝、卸載、系統設置、文件解壓縮等功能。這如其名字所指出的那樣,NSIS 是通過它的腳本語言來描述安裝程序的行為和邏輯的。NSIS 的腳本語言和通常的編程語言有類似的結構和語法,但它是為安裝程序這類應用所設計的。
2、特點
1、開銷小,一個完整功能的安裝程序僅需要 34k 的額外開銷。
2、支持大多數 Windows 平臺,包括:Windows 10,Windows 8,Widows 7,Windows NT,Windows 2000,Windows XP,Windows 2003
3、支持三大壓縮算法:ZLib,BZip2, LZMA
.....
3、腳本特點:
nsi腳本框架主要包含:1、安裝程序屬性,2、程序頁面,3、區段,4函數。
1、屬性:屬性用來定義安裝程序的行為和界面風格,這些屬性大部分是編譯時刻屬性,即不能在運行時刻改變。
2、頁面:是指安裝程序的向導頁面。
3、區段:是對應某種安裝/卸載選項的處理邏輯,該段代碼僅當用戶選擇相應的選項才被執行。
在區段中可以使用很多指令用來完成諸如解壓縮文件、讀寫注冊表、創建目錄、創建快捷方式等任務。
4、函數:包含了模塊化的安裝邏輯,在 nsi 腳本中函數分為兩種:用戶自定義函數和回調函數。
用戶自定義函數僅當是 Call 指令調用時才被執行。
如果函數體中沒有abort語句,則安裝程序執行完了用戶自定義函數,繼續運行 Call 語句和指令。
用戶自定義函數的語法如下:
Function <函數名>
# some commands
FunctionEnd
函數的調用則使用以下語法:
Call <函數名>
可見無論是函數的定義還是函數的調用都沒有參數傳遞。
通常 nsi 的參數傳遞是通過堆棧操作 Pop,Push 和 20 個寄存器變量?$0~$9、$R0~$R9 進行的。也可以通過全局變量完成參數傳遞。
如:Var input ;Var output ;
4、語法:
NSIS的簡單語法描述可以參考nsis_百度百科 (baidu.com)
NSIS的詳細語法介紹參考幫助文檔NSIS Users Manual
?5、打包方式
NSIS打包方式可以使用安裝向導、安裝腳本、Install based on.ZIP file方法。
1、安裝向導:安裝向導類有軟件操作頁面,用戶只管一步一步選擇對應的選項,就可以自動生成打包腳本。(操作簡單)
安裝向導的軟件頁面如下:
2、安裝腳本:使用.nsi的腳本控制安裝頁面,這種方式可以自定義安裝頁面的布局和樣式。(編寫較復雜)
安裝腳本編寫可以使用文本編輯,比較好用的軟件NotePad++,下載見Notepad++ - Download (softonic.com)
?安裝腳本需要下面軟件
? ? ? ? ? ? ?NSIS主頁面? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Complie NSI scripts運行腳本頁面
3、Install based on.ZIP file:上述NSIS主頁面的Install based on.ZIP file鏈接頁面,是一種基于壓縮包的打包方式,比安裝向導打包簡單。
只需將待打包軟件壓縮后的路徑添加,再簡單填寫信息就可以生成安裝文件。如下:
6、相關下載
1、NSIS的軟件下載地址:
Download - NSIS
2、安裝向導軟件下載地址:
HM NIS Edit download | SourceForge.net
3、說明書地址:
NSIS Users Manual
4、更改NSIS已有窗口樣式可以使用軟件:Resource Hacker,軟件的樣式如下:
?7、推薦連接:
安裝向導推薦鏈接,可以參考任意一個:
如何用NSIS打包程序_bruce135lee的博客-CSDN博客_nsis怎么用??
NSIS打包教程_急支糖漿123的博客-CSDN博客_nsis教程? ?
NSI腳本鏈接:
NSIS教程(1): 基礎語法_china_jeffery的博客-CSDN博客_nsis語法??
NSIS進階教程(一)~(五)_烏托邦2號的博客-CSDN博客? ?
nsi腳本語法的最詳細的描述見NSI的幫助文檔和官網的插件介紹。
8、注意
NSIS識別的編碼是ANSI格式編碼,不能識別UTF8編碼,故在中文系統下打包出的小語種安裝頁面,在中文系統下是顯示正常的,但是在英文系統下不一定是正常的。
對于小語種需要在英文系統下進行打包,這樣才會在外文系統下正常顯示。查看系統的編碼是否是英文,可以在cmd中輸入chcp進行查看,chcp 936是中文,chcp 437是美式英語。即使是英文系統,有可能編碼系統是中文,可以使用chcp查看和切換。
多語言ID的鏈接見:Language Codes (science.co.il)
總結
以上是生活随笔為你收集整理的NSIS打包工具用法介绍与NSIS相关软件下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZOC7 for Mac破解版激活方法附
- 下一篇: InstallShield常用问题