2016-10-14 90 views
0

我正在使用的msi需要從命令行發送SERVER_MODE的屬性值才能啓動。但是,似乎情況並非如此,因爲msi只會在沒有問題的情況下安裝。日誌文件找不到屬性名稱,我認爲它沒有定義。以下是我所做的:Wix條件不會阻止安裝msi

<Property Id="SERVER_MODE2" Secure="yes"> 

<CustomAction Id="CheckForDashboardProperty" Error="!(loc.LaunchFromDashboard)" /> 

<InstallExecuteSequence> 
    <Custom Action="CheckForDashboardProperty" Before="LaunchConditions">Not SERVER_MODE2 And Not Installed</Custom> 
</InstallExecuteSequence> 

<InstallUISequence> 
    <Custom Action="CheckForDashboardProperty" Before="LaunchConditions">Not SERVER_MODE2 And Not Installed</Custom> 
</InstallUISequence> 

回答

2

啓動條件必須評估爲true才能繼續安裝,因此您的條件不應該否定屬性值。只要說SERVER_MODE2。

你不需要一個未安裝的條件,因爲你永遠不會得到那麼遠 - 如果產品(即ProductCode)已經安裝Windows將不會運行你的MSI,它將進入維護模式,爲當前安裝的產品,這可能默認爲修復。

因此,所有你需要的條件是SERVER_MODE2

...我在你的文字假設SERVER_MODE是一個錯字。