运行我的安装程序的条件之一是注册表中的值应该不同于“1”,否则它将显示错误消息并退出。
这不能通过自定义操作来完成,因为即使OnBeforeInstall
事件发生在安装之后,所以用户可以在回滚之前终止设置。
如果我使用的是 WiX,它会很简单
<Condition Message="This application cannot be installed with SOMESOFTWARE v1. Setup now will exit.">
<![CDATA[SOMESOFTWAREVERSION <> "#1"]]>
</Condition>
<Property Id="SOMESOFTWAREVERSION">
<RegistrySearch Id="SomeSoftwareVersion"
Root="HKLM"
Key="SOFTWARE\Some Manufacturer\SomeSoftware"
Name="SomeSoftwareVersion"
Type="raw" />
</Property>
如果没有 WiX,我怎么能做同样的事情?