2013-01-21 198 views
3

如何使Nullsoft腳本安裝系統(NSIS)靜默安裝?Nullsoft腳本安裝系統(NSIS)安裝程序 - 靜音模式

維基百科:

「Nullsoft腳本安裝系統(NSIS)是一個免費軟件,由腳本控制,即允許創建的Windows安裝它最初是由Nullsoft的,該公司開發的。 Winamp的。NSIS的創造者是商業產品,如的InstallShield的替代品。

的NSIS編譯程序編譯像makensis安裝在下面的例子中成可執行程序的腳本。在腳本中的每一行包含一個單一的命令「。

# Example script 

Name "Example1" 
OutFile "example1.exe" 
InstallDir "$PROGRAMFILES\Example1" 
Page Directory 
Page InstFiles 
Section 
    SetOutPath $INSTDIR 
    File ..\makensis.exe 
SectionEnd 

回答

13

命令行用法

1. makensis使用

編譯一個NSIS(.nsi)O生成腳本安裝

makensis [option | script.nsi | - [...]] 

makensis.exe myscript.nsi 

2.安裝使用

一些選項

  • /S運行卸載程序靜默安裝的黃金
  • /d設置默認安裝目錄($ INSTDIR),覆蓋安裝目錄和InstallerDirRegKey。它必須是在命令行中使用的最後一個參數,並不得含有任何報價,即使路徑包含空格。只有絕對路徑的支持。

模板

installer.exe /S 

installer.exe /S /D=C:\Program Files\NSIS 

無聲安裝/卸載程序

  • 爲了檢查安裝是否是無聲的,使用IfSilent

  • 要跳過在靜音模式一些Insructions(用戶互動,創建窗口的),U將跳轉指令

IfSilent +2 0 
    MessageBox MB_OK|MB_ICONINFORMATION 'This is a "non silent" installer' 

在該示例中,顯示後盒安裝IIF是無聲的。這意味着,如果IfSilent是真的集羣+2 NEX指令被跳過。 0均值聚類帽子編譯不宜進入下一個if語句是假的IfSilent。

  • 要設置在靜音模式(只是暫時的)一個安裝程序,在.onInit方法使用SetSilent。對於靜音模式選項爲silent,對於非靜音模式選項爲normal

  • 設置安裝程序| unsinstaller沉默,你也可以使用

    SilentInstall silent

    SilentUnInstall silent

  • 在靜音模式下,將不顯示安裝程序本身所有屏幕。但是,可能會顯示未用SF_SELECTED標記的消息框和所有其他屏幕。要使安裝程序完全保持沉默,請使用指令跳轉(通常)或標記/ SD IDOK | IDCANCEL(用於確定|取消郵件框)。

    MessageBox MB_OK|MB_ICONINFORMATION "This is not a silent installer" /SD IDOK

這裏,如果靜音模式時,不顯示消息框,並表現爲與用戶確定。 謹防期權定單有

MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "Application is running. Please close it first." /SD IDCANCEL IDOK OK IDCANCEL CANCEL 
  • 如果有些信息可以從用戶在靜音模式聚集,一些更多的選擇,可以通過與GetOptions運作.onInit,

喜歡這裏:

!include FileFunc.nsh 
!insertmacro GetParameters 
!insertmacro GetOptions 

Function .onInit 
    ${GetParameters} $R0 
    ClearErrors 
    ${GetOptions} $R0 /USERNAME= $0 
FunctionEnd 

參考

NSIS silent install 1

NSIS silent install 2

NSIS silent install 3

+0

你也可以使用'$ {如果} $ {}沉默... $ {ENDIF}'和'!包括LogicLib.nsh' – kichik