我试图在安装过程中检查两个条件,但需要依次检查:如果条件 A 为假 - 显示错误 A,不检查条件 B。
详细信息:我必须进行条件检查
如果我的应用程序未安装 - 我需要显示错误消息并且不检查数据库架构,这会导致安装过程中出现未知错误。
<Property Id="MYAPPINSTALLED">
<RegistrySearch Id="MyAppInstalledSearch"
Name="MyAppInstalled"
Root="HKLM"
Key="Software\MyApp\Installed"
Type="raw"
Win64="no" />
</Property>
<Condition Message="!(loc.RequireMyApp)">
<![CDATA[(MYAPPINSTALLED="1")]]>
</Condition>
<PropertyRef Id="GETSCHEMAVERSION"/>
GETSCHEMAVERSION 是其他组件中使用的自定义操作,它会尝试连接到数据库,但如果计算机上不存在 MyApp,则会失败。
如何仅在 MYAPPINSTALLED 条件通过的情况下检查 GETSCHEMAVERSION 属性?
更新:
GETSCHEMAVERSION 自定义操作用于其他一些辅助应用程序。
最佳答案
检查数据库架构的第二个自定义操作应设置为仅在安装应用程序时运行:
<Custom Action="CheckDbSchema">MYAPPINSTALLED="1"</Custom>
据我了解,该自定义操作应该设置另一个属性,例如
DBSCHEMAISOK
至 1
.然后,依赖于可用模式的组件可以使用
MYAPPINSTALLED="1" And DBSCHEMAISOK="1"
进行调节。 .我可能遗漏了语法细节,但你应该明白了。
关于Wix 工具集 : Successively check conditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49361183/