我想做的是:
<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设置在第一个屏幕中显示为搜索此属性然后继续其他屏幕。
那么,如何在卸载期间搜索文件或设置属性值?
答案 0 :(得分:7)
您可以使用SetProperty元素控制属性的设置。这只是注册自定义操作的快捷方式。您可以使用文本元素中的Conditoin控制SetProperty执行的时间。
对于AppSearch(XxxSearch元素),您可以向AppSearch元素添加上述条件,以便它仅在卸载期间运行。请注意,AppSearch元素的调节将影响所有XxxSearch元素。因此,如果您需要在安装期间进行搜索并且仅在卸载期间进行另一次搜索,那么这是不可能的。
PS:您想要的条件如下:
Installed AND REMOVE="ALL"