NSIS 基於指令碼的安裝程式

2021-04-19 02:51:23 字數 2436 閱讀 2483

「nsis (nullsoft scriptable install system) 是 windows 下的乙個工具,它允許程式設計師

來建立這樣的安裝程式。它發布於乙個開源的協議並且對於任何使用來說都是完全免費的。」

--nsis使用者手冊

foobar是我聽聽**的工具,而且使用了winamp那麼長時間了,對nullsoft非常熟悉,但是

可能是由於整個公司的軟體開放程度不高吧,具體它有些什麼特長的東西一直不清楚。所以第

一次聽說有乙個nsis的東西可以方便靈活的定製安裝程式,是nullsoft退出的,我還有些驚訝。

「nsis 建立的安裝程式能夠安裝、解除安裝、設定系統設定、解壓檔案等等。因為它基於指令碼文

件,你可以完全的控制安裝程式的每一部分。指令碼語言支援變數、函式、字串操作,就像乙個

普通的程式語言一樣 - 但是設計來建立安裝程式。即使有那麼多的特性,nsis 仍然是最小的

安裝程式系統。在預設選項下,它僅增加了 34 kb 的開銷。」--nsis使用者手冊

不過看到nsis.sourceforge.net的若干圖示,一下子我就想起來了,原來好多的軟體都使用

它製作安裝程式,特別是那個帶乙個向下箭頭的圓球圖示老是出現在開源軟體的安裝程式中。

結果我都不知道這個東西,是在是有些不好意思了。

說起來要學習製作乙個基於nsis的安裝程式可不是乙個小時就可以的事情(恐怕要兩個小時 ;),

因為製作乙個安裝程式需要學習nsis的指令碼編寫,這基本上就是一門新的語言,是有一定

難度的。我自己的感覺是這種指令碼語法簡單,結構清除,由於使用了外掛程式的方式擴充套件,功能相

當的強大(網路上有不少各式各樣的外掛程式,自己也可以方便的編寫)。如果運用熟練幾乎可以

隨心所欲的操控安裝程式,檔案,網路以及作業系統等等。而編寫簡單的安裝程式更是手到擒

來,比如下面的一段相信大家一看就知道要做什麼了。

---乙個簡單的安裝程式

# # 定義產品的資訊,供以後程式使用

!define product_serial_number "123" ;序列號

!define temp_sn $r0 ;處理序列號對話方塊中用到的臨時變數

# # 顯示的各個頁面定義

# page license # 許可宣告顯示頁

page components # 選擇安裝元件

page directory # 指定安裝目錄

page instfiles # 安裝拷貝顯示頁

# # 設定總體的資訊

# name "$ $"

outfile "$-$.exe"

showinstdetails show

installdir "d:/tmp"

licensedata "readme.txt"

# 我在這裡預設只支援中文方式的安裝

loadlanguagefile "$/contrib/language files/simpchinese.nlf"

# # 各個段的詳細定義(根據選擇元件,執行各個區段)

# section "說明檔案"

setoutpath "$instdir" # 將這裡的檔案安裝到目標目錄中。

setoverwrite ifnewer

file "license.txt" "readme.txt"

sectionend

section "正文"

setoutpath "$instdir" # 將這裡的檔案安裝到目標目錄中。

setoverwrite ifnewer

file "about nsis.txt"

detailprint "正文安裝結束了!"

sectionend

----程式結束

像是上面這樣的乙個簡單指令碼也許就可以滿足很多人的要求了,而許多商業安裝程式工具生

成的結果也不過如此,可見nsis這個開源的工具還是非常強大的,怪不得好多著名的軟體都使

用它製作自己的安裝程式(參見nsis的users)。在nsis的wiki上有好多非常實用的指令碼和插

常的高,國內不少有志人士為了這個東西作出了巨大貢獻。所以文件和軟體全部都有中文版本

,而像hm-nis edit這樣的nsis指令碼編輯軟體也是也從源**級別進行了漢化,使用中完全沒

有語言的障礙。

本文**

基於NSIS指令碼開發的安裝程式製作軟體 易量安裝

原文 基於nsis指令碼開發的安裝程式製作軟體 易量安裝 前幾天 蘿蔔 給我推薦了一款安裝程式製作工具 易量安裝。易量安裝是一款安裝程式製作軟體,基於著名的nsis nullsoft scriptable install system 安裝指令碼開發,軟體具有強大的安裝指令碼編輯器,可讓您更加輕鬆的...

NSIS安裝檔案指令碼解釋

calendar.nsi 這是我使用的乙個小軟體的安裝檔案指令碼,其中包含了 使用者安裝目錄選擇 核心程式元件與快捷方式建立選擇 解除安裝程式 安裝程式名稱,將顯示在安裝程式對話方塊標題 name 日曆1900 2100 生成的單個安裝執行檔案 outfile calendar setup.exe ...

NSIS新增安裝程式版本資訊

viaddversionkey productname 產品名稱 viaddversionkey productversion 產品版本 viaddversionkey comments 備註 viaddversionkey companyname 公司名 viaddversionkey inter...