2016-10-14 92 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是一个错字。