命令列選項

解譯套件和安裝產品的可執行程式 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」。

注意:
如需設定記錄模式之所有可用方法的詳細資訊,請參閱Windows Installer 記錄中的一般記錄一節


/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 ,以及結尾任何撰寫的 FatalErrorUserExitExit 強制回應對話方塊。
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 屬性的值。