我想要检测用户在GUI中选择的自定义安装位置中是否已经存在目录。我试过以下内容:Wix:如何在自定义安装位置中执行DirectorySearch
<Property Id="DIRECTORY_PATH">
<DirectorySearch Id="DirectorySearch" Path="[INSTALLDIR]\MyDirectory" />
</Property>
但是这不起作用,因为DirectorySearch发生在AppSearch期间。虽然INSTALLDIR在InstallDirDlg期间稍后设置。由于INSTALLDIR没有及时为AppSearch设置,所以DIRECTORY_PATH被错误地设置为“\ MyDirectory”。
我试着改变AppSearch与InstallUISequence和InstallExecuteSequence一起发生的时间,但它只会让AppSearch在CostInitialize之前出现,不会晚。
那么如何在用户选择的INSTALLDIR位置进行目录搜索呢?
用户的选择只能识别安装位置,而不是我在该位置中是否存在要搜索“MyDirectory”的子目录。没有DirectorySearch,安装程序如何知道它是否应该设置属性? – Michael
你必须自己模拟目录搜索。只要在AppSearch中发生真正的DirectorySearch,它不适合您的需求。这就是为什么我引用“set property”动作的原因 - 它不仅应该设置属性,还应该执行一些逻辑来确定子目录是否存在。 –
我觉得上面的评论听起来令人困惑:)我会更新我的回答 –