簡體   English   中英

MSI安裝時默認使用默認值

[英]MSI installation quietly with default values

我正在編寫一個PowerShell腳本來卸載和安裝產品。 卸載和安裝過程只需單擊幾個下一個按鈕,並填充默認值。

您能否建議如何安裝MSI文件,而不提示用戶點擊幾個下一個按鈕並非常安靜地完成安裝過程。

如果我想在安裝期間提供自定義值,那么找出屬性名稱以及如何以靜默方式運行它的過程可能是什么。 請參閱任何參考資料以進一步探索。

我正在使用PowerShell 2.0,如果需要進一步的信息,請告訴我。 提前致謝。

此致,庫馬爾

要以靜默方式安裝.msi文件,您應該能夠將/quiet開關與msiexec 如果需要自定義任何內容,可以設置如下屬性值: PROPERTY=Value

總而言之: msiexec /i C:\\Path\\To\\File.msi /quiet PROPERTY=Value

要查看所有選項,只需運行msiexec不帶任何參數。 這個問題也與你的問題非常相似。

只有在MSI幫助您的情況下才能執行此操作:)。 例如,如果在對話框中將名為SERVERNAME的屬性設置為FRED,則可以在命令行上說SERVERNAME = FRED。 這假定執行安裝工作的InstallExecuteSequence僅使用值FRED。 當UI序列執行在靜默模式下不會發生的額外事情時會出現問題,因為UI序列不在靜默安裝中運行。 如果UI序列對話框通過(例如)在前端添加\\和在末尾添加\\ MyShare並在執行序列中使用\\ FRED \\ MyShare來更改SERVERNAME,那么您需要知道將命令行設置為SERVERNAME =“\\ FRED \\ MyShare“因為那是執行序列所期望的。 如果您不知道所有潛在的相關屬性值,則可以在UI模式下使用詳細日志運行安裝並查看它們。 因此,如果沒有靜默安裝的文檔,您需要對其進行反向工程。

如果要指定要安裝的功能,請使用ADDLOCAL =逗號分隔的功能名稱列表。

靜默運行的基本命令行是(路徑截斷):

msiexec.exe /I "C:\WiX.msi" /QN /L*V "C:\msilog.log" MYPROPERTY=1

您還可以應用變換(請參閱下面的說明):

msiexec.exe /I "C:\WiX.msi" /QN /L*V "C:\msilog.log" TRANSFORMS="C:\Wix.mst"
  • / QN :在安裝期間或之后靜默運行,沒有GUI
  • / L * V :寫入包含所有信息的詳細日志文件
  • MYPROPERTY :在命令行設置屬性。 你可以設置多個。

  • MSI文件應該被修改以供公司使用的方式是使用轉換文件 (* .mst)。

    • 這是一個小的“ 數據庫片段 ”,它可以在運行時應用它來更改MSI文件(它是一個數據庫)。
    • 轉換可以在字面上改變MSI中的任何內容,但大多數情況下它用於調整小事情,例如刪除快捷方式,消除不需要的運行時等等......
    • 通過添加關鍵字TRANSFORMS后跟* .mst文件的路徑,將轉換應用於msiexec.exe命令行上的MSI。

您還可以通過各種其他方式卸載MSI文件(除了msiexec.exe命令行)。 以下是有關如何卸載MSI文件的粗略指南 它包含有關如何使用PowerShell,WMI,VBScript自動化等進行卸載的信息...還有一個關於如何避免使用msiexec.exe以防止在自動運行期間彈出不需要的對話框的問題在serverfault.com上發布的帖子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM