【问题标题】:Set Wix property only if certain condition is met仅在满足特定条件时设置 Wix 属性
【发布时间】:2009-07-31 23:09:51
【问题描述】:

我想做的是:

<Property Id="LICENSEKEYPATH">
      REMOVE~="ALL" AND NOT UPGRADINGPRODUCTCODE
      <DirectorySearch Id="ProgramDataSearch" AssignToProperty="yes" Depth="4" Path="[#ProductDirInAppData]">
        <FileSearch Id="LicenseFileSearch" Name="lic-conf.enp"/>
      </DirectorySearch>
</Property>

当我的应用程序被卸载时,我才想搜索许可证文件并获取其路径。目前,虽然代码没有给出任何错误,但即使我正在安装文件,它仍然会搜索许可证文件路径。因此,设置会延迟很长时间。更重要的是,wix 设置显示在第一个屏幕中,大意是它搜索此属性,然后继续搜索其他屏幕。

那么,如何仅在卸载期间搜索文件或设置属性值?

【问题讨论】:

    标签: wix installation wix3


    【解决方案1】:

    您可以使用 SetProperty 元素控制属性的设置。这只是注册自定义操作的快捷方式。您可以使用文本元素中的条件来控制 SetProperty 何时执行。

    对于 AppSearch(XxxSearch 元素),您可以在 AppSearch 元素中添加与上述类似的条件,使其仅在卸载期间运行。请注意,调节 AppSearch 元素将影响所有 XxxSearch 元素。因此,如果您需要在安装期间进行搜索而仅在卸载期间进行搜索,这是不可能的。

    PS:你想要的条件看起来像:

    Installed AND REMOVE="ALL"

    【讨论】:

      猜你喜欢
      • 2013-02-21
      • 2019-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      相关资源
      最近更新 更多