5

我想做的是:

<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 设置显示在第一个屏幕中,大意是它搜索此属性,然后继续搜索其他屏幕。

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

4

1 回答 1

7

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

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

PS:您想要的条件将类似于:

Installed AND REMOVE="ALL"

于 2009-08-01T04:46:56.030 回答