Wix工具集:连续检查条件

问题描述 投票:3回答:1

我试图在安装过程中检查两个条件,但需要系列检查:如果条件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自定义操作用于其他一些帮助应用程序。

wix windows-installer
1个回答
1
投票

检查数据库架构的第二个自定义操作应该仅在安装应用程序时运行:

<Custom Action="CheckDbSchema">MYAPPINSTALLED="1"</Custom>

根据我的理解,该自定义操作应设置另一个属性,例如DBSCHEMAISOK1

然后,依赖于可用模式的组件可以用MYAPPINSTALLED="1" And DBSCHEMAISOK="1"来调节。

我可能会遗漏语法细节,但你应该明白这个想法。

© www.soinside.com 2019 - 2024. All rights reserved.