Wix工具集:连续检查条件

时间:2018-03-19 10:52:53

标签: wix windows-installer

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

1 个答案:

答案 0 :(得分:1)

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

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

据我所知,该自定义操作应设置另一个属性,例如DBSCHEMAISOK1

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

我可能会错过语法细节,但您应该明白这一点。