1

我正在尝试将 .dll 嵌入到 wix 安装程序中,该安装程序在安装期间由其他 dll 使用,但不会安装到客户的系统上。

我目前有

<Binary Id="AutomationUtils" SourceFile="AutomationUtils\bin\Release\AutomationUtils.dll" />
...
<CustomAction Id="Install" BinaryKey="InstallUILib" DllEntry="AutomationUtils;RunInstallerDLL" Return="check" Execute="deferred" />

但即使我取出另一个 .dll - WiX 拒绝承认 AutomationUtils 的存在 .. 即使它构建正常(但是当你尝试运行它时会摔倒)。

4

1 回答 1

4

BinaryKey='InstallUILib'引用带有 的Binary元素Id='InstallUILib'。该CustomAction/@DllEntry属性是Binary元素中自定义操作 .dll 的函数入口点的名称。该名称需要::GetProcAddress()可以访问。我很确定名为的函数AutomationUtils;RunInstallerDLL无效。

如果您希望执行托管代码自定义操作(您可能需要多个 .dll),这篇文章是可以的。否则,如果您要创建本机自定义操作,我建议您创建一个 .dll。

于 2013-03-14T15:33:27.877 回答