我已经多次看到这个问题被问到,但似乎没有一个答案对我有用。我显然错过了一些基本的东西,但我似乎无法找出它是什么!我才使用 WiX 几天,所以我对它还很陌生。
基本上,我已经在现有产品中构建了一个插件,并且我想在允许安装插件之前检查该产品是否已安装。我认为最简单的方法是检查主要可执行文件是否位于正确的目录中。
到目前为止我的相关代码:
<Property Id="FILEEXISTS">
<DirectorySearch Id="CheckFileDir" Path="INSTALLDIR" Depth="0">
<FileSearch Id="CheckFile" Name="main.exe" />
</DirectorySearch>
</Property>
<Condition Message="File does exist.">NOT FILEEXISTS</Condition>
Where INSTALLDIR
is the Id
main.exe 应该所在的目录并在嵌套中定义Directory
tags.
在用户可以通过 MSI 对话框设置安装文件夹之前执行搜索。所以这种方法不会按照你想要的方式工作。
如果您想检查安装文件夹中的文件,我建议通过 UI 自定义操作执行DoAction http://msdn.microsoft.com/en-us/library/aa368322%28VS.85%29.aspx控制事件。该事件可以通过文件夹选择对话框上的“下一步”按钮触发。
对此没有预定义的自定义操作,因此您需要使用自定义代码编写一个操作。它应该是接收安装句柄的 DLL 或 VBScript。您可以在这里找到一个小教程:http://www.codeproject.com/KB/install/msicustomaction.aspx http://www.codeproject.com/KB/install/msicustomaction.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)