有些時候我們的程式雖然能夠很好的完成安裝,但是程式的配置工作可能需要其他的一些程式來輔助完成,如果不執行這些程式,主程式就不能很好的完成工作,甚至不能完成工作,乙個很明顯的例子是,目前許多程式是通過
net技術開發的,這就要求計算機上必須安裝有
.net framework
,否則主程式執行不了,只有預先安裝了
net framework
後主程式才能得以執行。這個時候可以通過
run段,指定程式完成安裝後、在安裝程式顯示最終對話方塊之前要執行的程式。
設想有個主程式為
ipmsg.exe
,初始化程式為
init.exe
,主程式必須在
init.exe
執行一次之後方可很好的執行,這個時候可以這樣做(這裡的
init.exe
是我隨便找的乙個檔案,和
ipmsg
沒有必然的聯絡,只是用來演示):
defaultdirname="e:\test"
compression=lzma2/max
showlanguagedialog=yes
[components]
name: main; description:"
主程式(
必選)";types:full compact custom;flags: fixed
name: data; description:"
資料檔案
";types:full
name: help;description:"
幫助檔案
";types:full compact
[files]
;需要打包的檔案
[run]
測試上面**生成的打包檔案,執行到最後出現
finish
之前,將會出現如下畫面,後面的安裝程式將掛起,等待
run段下的程式執行完畢後方可繼續執行。
聰明的讀者可能已經想到,使用該方法也可以實現readme
的功能。這裡再談談該段的各個引數:
filename
:該引數是必須的,用於說明需要執行的檔案,或者需要開啟的資料夾。如果filename
不是可執行檔案(.exe
或.com)
或批處理檔案(.bat
或.cmd)
,你必須在條目中使用shellexec
標記,由上面的**可知,這個引數可以包含常量。
description
:僅在[run]
段有效。這是條目的描述,可以包含常量,如果沒有指明,將會使用預設的描述
parameters
:程式的可選命令列引數,可以包含常量例如有的控制台程式需要傳遞引數,這個時候就可以使用該引數了,示例如下:
初始化程式
";parameters:"/t"
注意:如果你的程式不接受引數,傳遞的引數將會被忽略。
workingdir
程式在哪個目錄啟動。如果這個引數未指定則使用filename
引數中的目錄。如果filename
不包含路徑,它將使用預設目錄。這個引數可以包含常量。
statusmsg
僅在[run]
段有效。由於某些程式在執行期間是不可見的(處於安全或者其他原因),但是又不想讓使用者以為安裝程式沒有響應,可以通過該引數指定程式執行時顯示在嚮導頁的訊息,如果這個引數未指定可是空白的,將使用預設的訊息「正在完成安裝...
」。這個引數可以包含常量。例如下例:
[run]
則效果如下:
flags:
這個引數是額外選項設定。多個選項可以使用空格隔開。支援下面的選項:
選項 說明
hidewizard
如果指定了這個標記,嚮導將在程式執行期間隱藏
nowait
如果指定了這個標記,它將在處理下乙個
[run]
條目前或完成安裝前不等待程序執行完成,不能與
waituntilidle
或waituntilterminated
組合使用
postinstall
僅在[run]
段有效。告訴安裝程式在安裝完成嚮導頁建立乙個選擇框,使用者可以選中或不選中這個選擇框從而決定是否處理這個條目。以前這個標記呼叫
showcheckbox
。如果安裝程式已經重新啟動了使用者的電腦
(安裝了乙個帶
restartreplace
標記的檔案或如果
[setup]
段的alwaysrestart
指示是yes
引起的)
,選擇框沒有機會出現,因此這些條目不會被處理。
runhidden
如果指定了這個標記,它將在隱藏視窗中執行程式。
runmaximized
如果指定了這個標記,將在最大化視窗執行程式或文件
runminimized
如果指定了這個標記,將在最小化視窗執行程式或文件。
shellexec
如果filename
不是乙個直接可執行檔案
(.exe
或.com 檔案)
,這個標記是必需的。當設定這個標記時,
filename
可以是乙個資料夾或任何已註冊的檔案型別,當使用
shellexec
標記時,將不等待,直到生成的程序終止,如果確實需要,則必須新增標記
waituntilterminated
skipifdoesntexist
如果這個標記在
[run]
段中指定,如果檔名不存在,安裝程式不顯示錯誤訊息;如果這個標記在
[uninstallrun]
段中指定,如果檔名不存在,解除安裝程式不顯示「一些元素不能刪除」的警告
skipifnotsilent
僅在[run]
段有效。告訴安裝程式如果安裝程式未在後台執行則跳過這個條目
skipifsilent
告訴安裝程式如果安裝程式在後台執行則跳過這個條目
unchecked
告訴安裝程式初始為不選中選擇框。如果使用者希望處理這個條目,可以通過選取選擇框執行,如果
postinstall
標記未同時指定,這個標記被忽略
waituntilidle
如果指定了這個標記,它將在未輸入期間等待,直到程序等待使用者輸入,而不是等待程序終止。(呼叫
waitforinputidle win32
函式。)
不能與nowait
或waituntilterminted
組合使用
waituntilterminated
如果指定這個標記,將等待到程序完全終止。注意這是乙個預設動作
(也就是你不需要指定這個標記
),除非你使用了
shellexec
標記,在這種情況下,如果你要等待,需要指定這個標記。不能與
nowait
或waituntilidle
組合使用
Nodejs的Express完成安裝指導
2014 06 24 15 02 7287人閱讀收藏 舉報 php python nodejs 46 一 安裝 官網express4.x的有一些變化,4.x版本中將命令工具單獨分出來了 所有要先按裝express generator,否則建立專案時,會提示express命令沒找到 plain vie...
Nodejs的Express完成安裝指導
一 安裝 官網express4.x的有一些變化,4.x版本中將命令工具單獨分出來了 所有要先按裝express generator,否則建立專案時,會提示express命令沒找到 npm install g express generator 需先安裝express generator npm in...
Nodejs的Express完成安裝指導
一 安裝 所有要先按裝express generator,否則建立專案時,會提示express命令沒找到 npm install g express generator 需先安裝express generator npm install g express express v 驗證是否安裝成功 二 ...