0

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

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

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

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

4

3 回答 3

2

您的意思是要运行一个自定义操作,该操作引用随软件包一起安装的 dll 中的函数?在这种情况下,使用自定义操作类型 17。或在 WiX 中:

<CustomAction Id="myCAfromInstalledDLL" FileKey="IdOfFile.dll" ExeCommand="EntryPointInDll" />
于 2014-02-20T10:06:54.530 回答
0

像这样:CustomAction Id='FooAction' BinaryKey='FooBinary' DllEntry='FooEntryPoint' Execute='immediate' Return='check'/ Binary Id='FooBinary' SourceFile='foo.dll'

为 SO 编辑了 Xml 尖括号。

正是那个 binarykey 意味着它是从要调用的 Binary 表中提取的。

于 2014-02-19T18:18:23.900 回答
0

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

  1. 创建一个嵌入到安装程序中的自定义操作二进制文件。
  2. 您的自定义操作二进制文件可以充当包装器并确定已安装二进制文件的位置并调用适当的方法\自定义操作。一个好处是您可以检查文件是否存在,并在它们丢失时采取适当的措施。
于 2014-02-19T21:17:29.593 回答