如何从DLL调用函数?

时间:2012-07-20 10:56:54

标签: wix custom-action

我可以从DLL(自定义操作)调用函数来搜索已安装程序的位置并在那里安装我的msi吗?

1 个答案:

答案 0 :(得分:-1)

在这种情况下,您不需要自定义操作。使用WiX提供的DirectorySearch / FileSearch元素开箱即用。此外,如果该程序在系统注册表中留下痕迹,则RegistrySearch元素很有用。

更新:据我所知,根据您的评论,您可以使用现成的功能来检测主程序的安装路径,并且您希望利用此功能在那里安装额外的添加。

您应该创建一个立即自定义操作(CA),它从DLL调用函数并将其安排在AppSearch和LaunchConditions之间的某个位置。此自定义操作应将结果保存到MSI property,例如,INSTALLLOCATION。这意味着如果您有一个返回路径的函数,您可能希望将其包装到另一个函数(实际CA)中,该函数只将该值保存到INSTALLLOCATION属性。

然后,您可以在目录结构中使用此属性,如下所示:

  <Directory Id="TARGETDIR" Name="SourceDir">
     <Directory Id="INSTALLLOCATION" Name="my app">
     ...
     </Directory>
  </Directory>

注意:遵循此建议仍需要有关Windows Installer和WiX的一些基本知识,因此我强烈建议您解决MSDNWiX tutorial的基础问题。