WiX dll embedding

本文关键字:embedding dll WiX | 更新日期: 2023-09-27 18:04:07

我试图将.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的存在…即使它可以正常运行(但是当你试图运行它时就会崩溃)

WiX dll embedding

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

如果您正在寻找托管代码自定义操作(您可能需要多个.dll),这篇文章是可以的。否则,如果您要创建一个本地自定义操作,我建议您创建一个.dll。