我正在处理的msi需要从命令行发送SERVER_MODE的属性值才能启动。但是,似乎条件甚至没有,因为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>
答案 0 :(得分:2)
启动条件必须评估为true才能继续安装,因此您的条件不应否定属性值。只要说SERVER_MODE2。
您不需要未安装的条件,因为您永远不会那么远 - 如果已经安装了产品(即ProductCode),Windows将无法运行您的MSI,它将进入维护模式目前安装的产品,可能默认为维修。
所以你需要的只是条件是SERVER_MODE2
...我认为你文本中的SERVER_MODE是一个错字。