命令列選項
解譯套件和安裝產品的可執行程式 Msiexec.exe。 請注意,Msiexec 也會在傳回時設定與 系統錯誤碼對應的錯誤層級。 命令列選項不區分大小寫。
下表中的命令列選項適用于 Windows Installer 3.0 和舊版。 從 Windows Installer 3.0 開始,也提供 標準安裝程式 Command-Line 選項 。
選項 | 參數 | 意義 |
---|---|---|
/我 | 套件|ProductCode | 安裝或設定產品。 |
/f | [p|o|e|d|c|a|u|m|s|v]包|ProductCode | 修復產品。 此選項會忽略命令列上輸入的任何屬性值。 此選項的預設引數清單為 'omus'。 此選項與 REINSTALLMODE 屬性共用相同的引數清單。 p - 只有在檔案遺失時才重新安裝。 o - 如果檔案遺失或已安裝較舊版本,請重新安裝。 e - 如果檔案遺失或已安裝相等或較舊版本,請重新安裝。 d - 如果檔案遺失或已安裝不同的版本,請重新安裝。 c - 如果檔案遺失,或預存總和檢查碼不符合計算值,請重新安裝 。 只會修復在 File 資料表的 Attributes 資料行中具有 msidbFileAttributesChecksum 的 檔案 。 a - 強制重新安裝所有檔案。 u - 重寫所有必要的使用者特定登錄專案。 m - 重寫所有必要的電腦特定登錄專案。 s - 覆寫所有現有的快捷方式。 v - 從來源執行,並重新快取本機套件。 請勿針對第一次安裝應用程式或功能使用 v 重新安裝選項。 |
/a | 套件 |
系統管理安裝 選項。 在網路上安裝產品。 |
/X | 套件|ProductCode | 卸載產品。 |
/J | [u|m]Packageor [u|m]套件/t轉換清單 或是 [u|m]Package/gLanguageID |
公告產品。 此選項會忽略命令列上輸入的任何屬性值。 u - 向目前使用者公告。 m - 向機器的所有使用者公告。 g - 語言識別項。 t - 將轉換套用至公告的套件。 |
/L | [i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] Logfile | 將記錄資訊寫入指定之現有路徑的記錄檔中。 記錄檔位置的路徑必須已經存在。 安裝程式不會建立 logfile 的目錄結構。 旗標會指出要記錄的資訊。 如果未指定旗標,則預設值為 'iwearmo'。 i - 狀態訊息。 w - 非嚴重警告。 e - 所有錯誤訊息。 a - 啟動動作。 r - 動作特定記錄。 u - 使用者要求。 c - 初始 UI 參數。 m - 記憶體不足或嚴重結束資訊。 o - 磁碟空間不足訊息。 p - 終端機屬性。 v - 詳細資訊輸出。 x - 額外的偵錯資訊。 Windows Installer 2.0: 不支援。 x 選項適用于 Windows Installer 3.0.3790.2180 版和更新版本。 + - 附加至現有的檔案。 ! - 將每一行排清至記錄檔。 「*」 - 萬用字元,記錄 v 和 x 選項以外的所有資訊。 若要包含 v 和 x 選項,請指定 「/l*vx」。
注意: |
/m |
filename
注意: |
產生 SMS 狀態 .mif 檔案。 必須與 install (-i) 搭配使用、移除 (-x) 、系統管理安裝 (-a) ,或重新安裝 (-f) 選項。 ISMIF32.DLL 會安裝為 SMS 的一部分,且必須位於路徑上。 狀態 mif 檔案的欄位會填入下列資訊: 製造商 - 作者 產品 - 修訂編號 版本 - 主旨 地區設定 - 範本 序號 - 未設定 安裝 - ISMIF32.DLL 設定為 「DateTime」 InstallStatus - 「Success」 或 「Failed」 描述 - 依照下列順序的錯誤訊息:1) 安裝程式所產生的錯誤訊息。 2 如果安裝無法開始或使用者結束,則從 Msi.dll) 資源。 3) 系統錯誤訊息檔。 4) 格式化訊息:「安裝程式錯誤 %i」,其中 %i 從 Msi.dll 傳回錯誤。 |
/p | PatchPackage[;p atchPackage2 ] | 套用修補程式。 若要將修補程式套用至已安裝的系統管理映射,您必須結合下列選項: /p < PatchPackage > [;p atchPackage2 ] /a \ < Package > |
/q | n|b|r|f | 設定 使用者介面層級。 q, qn - 沒有 UI qb - 基本 UI。 使用 qb! 隱藏 [ 取消] 按鈕。 qr - 在安裝結束時未顯示強制回應對話方塊的 縮減 UI 。 - 完整 UI ,以及結尾任何撰寫的 FatalError、 UserExit或 Exit 強制回應對話方塊。 qn+ - 除了結尾顯示的強制回應對話方塊以外,沒有 UI。 qb+ - 在結尾顯示模式對話方塊 的基本 UI 。 如果使用者取消安裝,則不會顯示強制回應方塊。 使用 qb+! 或 qb!+ 隱藏 [ 取消] 按鈕。 qb- - 沒有強制回應對話方塊 的基本 UI 。 請注意,/qb+- 不是支援的 UI 層級。 使用 qb-! 或 qb!- 隱藏 [ 取消] 按鈕。 請注意, ! 選項適用于 Windows Installer 2.0,僅適用于基本 UI。 它不適用於完整 UI。 |
/? 或 /h | 顯示 Windows Installer 的著作權資訊。 |
|
/Y | module | 呼叫系統函式 DllRegisterServer ,以在命令列上傳入的自我註冊模組。 指定 DLL 的完整路徑。 例如,對於目前資料夾中的 MY_FILE.DLL,您可以使用: msiexec /y .\MY_FILE.DLL 此選項僅用於無法使用 .msi 檔案的登錄資料表來新增的登錄資訊。 |
/Z | module | 呼叫系統函 式 DllUnRegisterServer ,以取消註冊在命令列上傳入的模組。 指定 DLL 的完整路徑。 例如,對於目前資料夾中的 MY_FILE.DLL,您可以使用: msiexec /z .\MY_FILE.DLL 此選項僅用於無法使用 .msi 檔案的登錄資料表移除的登錄資訊。 |
/c | 公告產品的新實例。 必須與 /t 搭配使用。 從 Windows Server 2003 隨附的 Windows Installer 版本和 Windows XP Service Pack 1 (SP1) 開始提供。 |
|
/n | ProductCode | 指定產品的特定實例。 用來透過變更轉換的產品代碼,使用多個實例支援來識別已安裝的實例。 從隨附于 Windows Server 2003 和 Windows XP SP1 的 Windows Installer 版本開始提供。 |
/i、/x、/f[p|o|e|d|c|a|u|m|s|v]、/j[u|m]、/a、/p、/y 和 /z 選項不應該一起使用。 此規則的其中一個例外是修補 系統管理安裝 需要使用 /p 和 /a。 /t、/c 和 /g 選項應該只與 /j 搭配使用。 /l 和 /q 選項可以與 /i、/x、/f[p|o|e|d|c|a|u|m|s|v]、/j[u|m]、/a 和 /p 搭配使用。 /n 選項可以與 /i、/f、/x 和 /p 搭配使用。
若要從 A:\Example.msi 安裝產品,請安裝產品,如下所示:
msiexec /i A:\Example.msi
只能使用命令列修改 公用屬性 。 命令列上的所有屬性名稱都會解譯為大寫,但值會保留區分大小寫。 如果您在命令列輸入 MyProperty ,安裝程式會覆寫 MYPROPERTY 的值,而不是 Property 資料表中的 MyProperty 值。 如需詳細資訊,請參閱 關於屬性。
若要安裝屬性設定為 VALUE 的產品,請在命令列上使用下列語法。 除了 選項與其引數之外,您可以將 屬性放在任何位置。
正確的語法:
msiexec /i A:\Example.msi PROPERTY=VALUE
語法不正確:
msiexec /i PROPERTY=VALUE A:\Example.msi
常值字串的屬性值必須以引號括住。 在標記之間,在字串中包含任何空白字元。
msiexec /i A:\Example.msi PROPERTY=「Embedded 空白字元」
若要使用命令列清除公用屬性,請將其值設定為空字串。
msiexec /i A:\Example.msi PROPERTY=「」
對於以常值引號分隔的文字區段,請用第二對引號括住區段。
msiexec /i A:\Example.msi PROPERTY=「Embedded 」Quotes「」 空白字元」
下列範例顯示覆雜的命令列。
msiexec /i testdb.msi INSTALLLEVEL=3 /l* msi.log COMPANYNAME=「Acme 」「Widgets」「 and 」「Gizmos.」」
下列範例顯示廣告選項。 請注意,參數不區分大小寫。
msiexec /JM msisample.msi /T transform.mst /LIME logfile.txt
下列範例示範如何安裝要公告之產品的新實例。 此產品是針對支援多個實例轉換所撰寫。
msiexec /JM msisample.msi /T :instance1.mst;customization.mst /c /LIME logfile.txt
下列範例示範如何使用多個實例轉換來修補已安裝之產品的實例。
msiexec /p msipatch.msp;msipatch2.msp /n {00000001-0002-0000-0000-624474736554} /qb
當您將修補程式套用至特定產品時,無法在命令列中同時指定 /i 和 /p 選項。 在此情況下,您可以將修補程式套用至產品,如下所示。
msiexec /i A:\Example.msi PATCH=msipatch.msp;msipatch2.msp /qb
使用 /p 選項時,無法在命令列中設定 PATCH 屬性。 如果使用 /p 選項時設定 PATCH 屬性,則會忽略並覆寫 PATCH 屬性的值。