我們使用Wix創建我們的MSI安裝程序。我們有一些自定義操作在通過GUI正常使用安裝程序時效果很好,但是當使用無提示安裝(使用「msiexec/qb/i」)時,自定義操作不會運行。在Wix中創建用於靜默安裝的自定義動作
我能做些什麼來讓他們通過Wix工作?
我們使用Wix創建我們的MSI安裝程序。我們有一些自定義操作在通過GUI正常使用安裝程序時效果很好,但是當使用無提示安裝(使用「msiexec/qb/i」)時,自定義操作不會運行。在Wix中創建用於靜默安裝的自定義動作
我能做些什麼來讓他們通過Wix工作?
他們只是不運行或失敗?可能會出現這種情況,他們被禁止在安靜模式下運行(請參閱UILevel屬性)。如果失敗,他們可能會缺少一些來自完全UI模式用戶的輸入信息(屬性)。
無論如何,詳細的日誌應該會給你更多的信息。
我建議你閱讀(幾次如果需要的話......我花了一段時間,在第一次):
Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer
有很多事情要考慮的問題創作時和細節都在寫得很好的文章。基本上,您聽起來像只將自定義操作放在UI序列中,而不是執行序列,但除此之外還有其他一些事情,您應確保自己的操作正確。
您可以在ExeCommand中設置「[UILevel]」並通過參數訪問它。
<CustomAction Id="customActionId" BinaryKey="InstallerProgram" ExeCommand="[UILevel]" Execute="deferred" Return="check" />
static void Main(string[] args)
{
var uiLevel = args[0]; //==> [Here is the UILevel][1]
}
謝謝,但我該如何設置維克斯的UILevel屬性? – 2011-02-17 12:02:32