安装前存在WiX检查文件

Chr*_*ris 8 wix

我已经多次看到这个问题,但没有一个答案似乎对我有用.我显然缺少一些基本的东西,但我似乎无法找出它是什么!我只使用了几天的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>
Run Code Online (Sandbox Code Playgroud)

哪里INSTALLDIRId所在的目录MAIN.EXE应该和嵌套定义的Directory标签.

Cos*_*rvu 5

在用户可以通过MSI对话框设置安装文件夹之前执行搜索.所以这种方法不会按照你想要的方式运作.

如果要检查安装文件夹中的文件,我建议通过DoAction控件事件执行UI自定义操作.可以通过文件夹选择对话框中的"下一步"按钮触发此事件.

没有为此预定义的自定义操作,因此您需要使用自定义代码编写一个.它应该是一个接收安装句柄的DLL或VBScript.您可以在这里找到一个小教程:http://www.codeproject.com/KB/install/msicustomaction.aspx