1. 程式人生 > >軟體自動安裝之―靜默安裝引數篇

軟體自動安裝之―靜默安裝引數篇

大部分軟體,其安裝都具備一定的智慧性,換句話說,許多軟體的安裝都能採取全自動或半自動的方式進行。

  下面以不同的安裝方式進行討論:

一、 Microsoft Windows Installer

如果某個軟體是用Windows Installer打包的,那你就應該能在資料夾中看到*.msi檔案。

這是最典型的特徵,這些檔案通常可以使用 /QB和 /QN引數進行自動安裝。。

/qb 會在視窗中顯示一個基本的安裝程序

/qn 引數則不會顯示任何視窗,直接在後臺自動安裝

為了阻止某些程式安裝成功後自動重啟動(例如Kerio Personal Firewall 4),你可以在 /qn 或者 /qb引數後使用REBOOT=Suppress標記,例如:

如安裝虛擬光碟機 DaemonTools:msiexec /i dtools.msi /qb REBOOT=SUPPRESS

二、 Windows 補丁包



有兩種情況,一種是類似IE增量補丁包的那種安裝檔案,要使之靜默安裝,只需要在執行檔案後加上 /q:a /r:n 引數即可;一種是 Windows 常用的補丁檔案,一般情況下加上 /U /N /Z 即可實現靜默安裝。

(對於新的系統補丁,也可使用 /passive /norestart)。這通用大部分情況,但某些特定的補丁不能用此法進行靜默安裝。

三、InstallShield

a.要使用靜默安裝的方式安裝用InstallShield技術打包的程式,首先要在現有的作業系統中建立一個setup.iss檔案。

在命令列視窗中使用 -R 引數(大小寫敏感)執行安裝程式。

例如:Setup.exe -R

b. 接著會顯示常見的安裝螢幕,並且詢問你一些問題,例如要安裝的目錄等有一點是很重要的,在安裝結束後你不能選擇“立刻重啟動計算機”的選項。如果你選了,在批處理檔案中的其他命令就會因為計算機重啟動而無法執行。

c. 在安裝程式執行完畢後,開啟你的C:/Windows(或者C:/WINNT)目錄,然後找到setup.iss檔案,把這個檔案和你將要靜默
安裝的程式setup.exe儲存在同一個目錄中

d. 用以下命令進行靜默安裝:setup.exe -s [-sms]

我怎麼知道哪個程式是使用InstallShield技術打包的?

大部分這類程式的安裝檔案都可以被壓縮軟體解壓縮,安裝檔案setup.exe的屬性對話方塊中應該有“InstallShield (R) Setup Launcher”或者其他類似的字樣。

最後,如果你在儲存安裝檔案的資料夾中看到了一個setup.iss檔案,那麼毫無疑問這是用InstallShield打包了!

四、InstallShield with MSI

InstallShield with MSI 製作的安裝檔案,請使用類似:setup.exe /s /v"/qb" 來安裝

五、WISE Installer


用WISE技術打包的軟體在安裝的時候可以選擇使用 /s引數進行自動安裝:setup.exe /s

六、Inno Setup

Inno Setup 製作的安裝檔案,請使用:setup.exe /sp- /silent /norestart

我怎麼知道哪個安裝程式是用Inno 技術打包的?

這種軟體安裝時第一個介面一般如下圖所示

在視窗標題欄左側的圖示上點選滑鼠左鍵,然後再探出選單上點選“About Setup”可以看見安裝型別[attach]138[/attach]

七、NullSoft Installation System

使用 NSIS (NullSoft Installation System) 製作的安裝檔案,可用 /S (注意大寫)來進行靜默安裝。示例:setup.exe /S

使用NSIS 打包的安裝檔案可以用 /S引數進行自動安裝(“S”是大小寫敏感的):

Setup.exe /S

你也可以用 /D引數選擇將要安裝的目標分割槽和資料夾:

Setup.exe /S /D=E:/Software/CDex

像Winamp 和CDex這類的軟體都會在安裝結束後顯示一個確認螢幕(CDex)或者一個設定檔案關聯方式的結束安裝螢幕(Winamp)

我怎麼知道哪個程式是使用NSIS技術打包的?

很多用NSIS打包的程式在安裝的時候都有類似這樣的視窗,例如Winamp 和CDex:[attach]139[/attach]

八、Wise Installation Professional

製作的安裝檔案,可用 /silent 引數進行靜默安裝。

反正拿到一個安裝程式,大家用各靜默安裝引數試試就知道了

([/s] [/S] [/silent [/noreboot]] [/verysilent [/sp-] [/norestart]] [/q] [/qn] [/qb] [REBOOT=SUPPRESS]   [/s /v/qn] [/q:a /r:n] [/u /n /z] [/quiet] [/SilentInstallNoSponsor] [/SilentInstall] [/s /qn] [/s /qd] [-s] [-q] 等)。

常用軟體的靜默安裝引數參考

winrar 靜默引數 /s (大小寫皆可)

Windows Installer 3 (.msi)
msiexec /i x:/y/z.msi /qb(或qn) /norestart
獲取安裝引數:msiexec /help

inno 的包 /verysilent 代替 /silent 也可