WiX可以像Visual Studio安装项目一样从已安装的二进制文件中运行自定义操作吗?

时间:2014-02-19 16:10:52

标签: wix custom-action visual-studio-setup-proje

由于我迁移到WiX,我只能从插入二进制表的二进制文件中运行自定义操作

<Binary Id="SetupActions.CA.dll"
        src="..\SetupActions\bin\Release\SetupActions.CA.dll" />

但Visual Studio安装项目过去常常使用已安装的二进制文件作为自定义操作的容器。

有没有办法在WiX中使用旧方式?

3 个答案:

答案 0 :(得分:2)

您是否想要运行引用随软件包一起安装的dll中的函数的自定义操作?在这种情况下,请使用custom action type 17。或者在WiX中:

<CustomAction Id="myCAfromInstalledDLL" FileKey="IdOfFile.dll" ExeCommand="EntryPointInDll" />

答案 1 :(得分:0)

这样的事情: CustomAction Id ='FooAction'Binary_Key ='FooBinary'DllEntry ='FooEntryPoint'Execute ='immediate'                     返回=“检查” / Binary Id ='FooBinary'SourceFile ='foo.dll'

将Xml尖括号编辑为SO。

这就是二进制密钥,意味着它从二进制表中提取出来进行调用。

答案 2 :(得分:0)

我想你可以尝试以下方法:

  1. 创建嵌入安装程序的自定义操作二进制文件。
  2. 您的自定义操作二进制文件可以充当包装器并确定已安装二进制文件的位置并调用相应的方法\自定义操作。一个好处是,您可以检查文件是否存在,并在缺少文件时采取适当的措施。