各種程式打包軟體的安裝命令

SurgePing發表於2014-02-18

各種程式打包軟體的安靜安裝命令

Inno Setup 
使用Inno技術製成的程式安裝包可以使用/SILENT /VERYSILENT引數進行全自動安裝(我不知道這兩個引數有什麼分別,因為它們實現的功能看上去是一樣的)。
setup.exe /VERYSILENT
不過我們這裡有個小問題,你要處理這個詢問你是否進行安裝的對話方塊:

 

Nullsoft SuperPiMP Install System (NSIS)
使用NSIS打包的安裝檔案可以用 /S引數進行自動安裝(“S”是大小寫敏感的)。
Setup.exe /S
你也可以用 /D引數選擇將要安裝的目標資料夾,例如:
Setup.exe /S /D=E:\Software\CDex
WinampCDex這類的軟體都會在安裝結束後顯示一個確認螢幕或者一個設定檔案關聯方式的螢幕,我還不知道怎樣跳過這一步,但是這個螢幕對批處理檔案的繼續執行不會有任何影響。
我怎麼知道哪個程式是使用NSIS技術打包的?
很多用NSIS打包的程式在安裝的時候都有類似這樣的視窗,例如WinampCDex

 

注意ACDSee 6,它是Microsoft Windows Installer打包的,但不能直接獲得.msi檔案,需先執行安裝程式,待出現歡迎介面時,不要點下一步,直接到Documents and Settings\使用者名稱\Local Settings\Temp\中有一個什麼IS的資料夾,裡面可以找到.msi檔案,這樣就可以按照以上引數安裝了.


Microsoft Windows Installer
如果某個軟體是用Windows Installer打包的,那你就應該能在資料夾中看到*.msi檔案。這些檔案通常可以使用 /QB /QN引數進行自動安裝。Powertoys使用了 /s /v/qn引數,同時其他的一些程式例如WMP9使用了 /Q:A/R:N引數(其實這些已經不是Windows Installer檔案了)。
對於這些軟體,你可以依次嘗試上面提到的引數,看看哪個是有效的。
/qb
引數會在視窗中顯示一個基本的安裝程式
/qn
蠶食則不會顯示任何視窗,直接在後臺自動安裝
阻止程式安裝完成後自動重啟動
為了阻止某些程式安裝成功後自動重啟動(例如Kerio Personal Firewall 4),你可以在/qn或者/qb引數後使用REBOOT=Suppress標記,例如:
setup.msi "/qn REBOOT=Suppress"
有些安裝程式使用 /s/v/qn引數進行自動安裝,因此阻止它們重啟動應該用:
setup.exe /s /v"/qn REBOOT=Suppress" 

WISE Installer applications 
WISE技術打包的軟體在安裝的時候可以選擇使用 /s引數進行自動安裝:
Setup.exe /s
我怎麼知道哪些程式是使用Wise技術打包的? 
使用Wise技術打包的大部分程式都會在開始執行的時候顯示一個啟動介面:


但是也有一些會最小化這個視窗,只顯示一個深藍色的背景,還有安裝視窗在螢幕的中央。


幸好我們可以通過使用一個引數跳過這個對話方塊:
setup.exe /VERYSILENT /SP-
不過這裡還有一個問題,有些利用Inno技術做作的安裝包會在程式安裝完畢後自動執行所安裝的程式,例如ISOBuster。不過我們可以使用一個叫做PSKill的工具殺死相關的程式,這個軟體是SysInternals公司開發的,你可以在下載頁面下載到。 
以下是一個可以用於批處理檔案的命令的示例:
ECHO.
ECHO Copying PSKill utility...
COPY "%systemdrive%\Install\Tools\pskill.exe" "%systemroot%\"
ECHO.
ECHO Installing ISOBuster 1.4
ECHO Please wait...
start /wait %systemdrive%\install\Applications\ISOBuster\IsoBuster14.exe /VERYSILENT /SP-
ECHO.
ECHO Killing ISOBuster.exe process
PSKill ISObuster
ECHO.
我怎麼知道哪個安裝程式是用Inno 技術打包的?
本頁上方的截圖就是一個典型的Inno安裝包的執行介面,而下圖也是(在視窗標題欄左側的圖示上點選滑鼠左鍵,然後再探出選單上點選“About Setup”也可以看見安裝型別)。



Installshield
應用程式 
要使用自動安裝的方式安裝用InstallShield技術打包的程式,你首先要建立一個setup.iss檔案。
1.
首先在一臺現成的電腦上的命令列視窗中使用 -R引數執行安裝程式
例如:
Setup.exe -R
2.
接著會顯示常見的安裝螢幕,並且詢問你一些問題,例如要安裝的目錄等。有一點是很重要的,在安裝結束後你不能選擇立刻重啟動計算機的選項。如果你選了,在批處理檔案中的其他命令就會因為計算機重啟動而無法執行。
3.
在安裝程式執行完畢後,開啟你的C:\Windows(或者C:\WINNT)目錄,然後找到setup.iss檔案,把這個檔案和你將要自動安裝的程式儲存在同一個目錄中。
4.
用以下命令進行自動安裝:
start /wait %systemdrive%\install\Application\Application_name\Setup.exe -s -f1"%systemdrive%\install\Applications\Application_name\setup.iss" 
以上的命令是一整行的,他們之間沒有多餘的空格。
5.
對所有準備進行自動安裝,並且使用了InstallShield技術打包的程式重複上面的步驟,獲得相應的setup.iss檔案。
我怎麼知道哪個程式是使用InstallShield技術打包的? 
利用這種記事打包的檔案,大部分都是可以被壓縮軟體解壓縮的,安裝檔案的屬性對話方塊中應該有“InstallShield (R) Setup Launcher”或者其他類似的字樣。最後,如果你在儲存安裝檔案的資料夾中看到了一個作為範例的setup.iss檔案,那麼毫無疑問這是用 InstallShield打包了。

相關文章