2013-03-29 149 views
1

當我們做MSIEXEC.EXE/I myApp.msi/Q查詢REG MSIEXEC靜默安裝

我知道我們最終會做一個靜默安裝,但是從哪裏安裝程序獲取必須的字段的值被安裝並且需要安裝發生。例如,可能會有幾個字段或參數,如用戶名,密碼等,我們可能會在常規安裝過程中從用戶那裏獲得。

在靜默安裝中,安裝程序從輸入文件中獲取這些文件。這個輸入文件存儲在哪裏?或者它如何獲得這些值?

我想做一個沉默的安裝,並面臨着問題,因爲它正在挑選一個特定屬性的錯誤值......我不知道它如何拾取。

任何指針,將不勝感激。

回答

2

您引用的參數在Windows安裝程序中稱爲「屬性」。所以,如果你靜靜地運行,這些屬性將具有它們的默認值。如果您在將使用的Property元素中指定一個值。如果您有SetProperty或其他CustomAction元素,可以更改屬性的值。您也可以到安裝,像這樣提供的命令行屬性:

msiexec /i path\to\your.msi /q PROPERTY1=value PROPERTY2="my other value" PROPERTY3=2 

同樣重要的是要注意的是,Windows安裝程序不會存儲在安裝過程中改變屬性值。您需要查看Remember Property Pattern

0

MSI本身並不使用輸入文件來獲取值。如果這是你的故事,你必須實施自定義操作才能實現。

通常,您將使用在命令行中傳遞的安全自定義屬性(SecureCustomProperties屬性中列出的公共屬性,其中公共屬性是所有CAPS中的屬性)。

msiexec /i foo.msi /qn USERNAME=Bob PASSWORD=1Password 

通常你必須自定義對話框,控制和自定義操作的用戶界面和執行順序來處理輸入驗證。