NSIS教程(5): 靜默安裝
阿新 • • 發佈:2019-02-16
常用的靜默安裝有2種:
1. 在指令碼中加入SilentInstall 和 SilentUninstall 命令
2. 在程式啟動引數里加 /S 引數(區分大小寫)
要判斷安裝、解除安裝程式是否靜默可以使用 IfSilent
:
# 安裝操作開始前.
Function .onInit
IfSilent +2 +1
MessageBox MB_ICONQUESTION|MB_OK "歡迎使用"
FunctionEnd
對於有些命令需要為靜默安裝指定預設的回答,如MessageBox
需要加入/SD開關來指定預設回答。
# 解除安裝操作開始前.
Function un.onInit
MessageBox MB_ICONQUESTION|MB_YESNO "確定要解除安裝嗎?" /SD IDYES IDYES +2 IDNO +1
Abort
FunctionEnd
如果需要為靜默安裝指定其他的引數,如使用者名稱等,可以使用程式啟動引數指定,並在.onInit
函式裡進行解析:
#使用外掛FileFunc中的2個巨集
!include "FileFunc.nsh"
!insertmacro GetParameters
!insertmacro GetOptions
# 定義全域性變數
Var paramInstllDir # 啟動引數-安裝目錄
# 自定義巨集ParseParameters,在.onInit函式中呼叫即可
!macro ParseParameters
${GetParameters} $R0
${GetOptions} $R0 '/installdir' $R1
StrCpy $paramInstllDir $R1
IfSilent +1 +2
StrCpy $INSTDIR $paramInstllDir
!macroend