简体   繁体   English

WiX dll嵌入

[英]WiX dll embedding

I'm trying to embed a .dll into a wix installer that is used by other dlls during the install but will not be installed onto the customer's systems. 我正在尝试将.dll嵌入到安装过程中其他dll使用的wix安装程序中,但不会安装到客户的系统上。

I've currently got 我现在有

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

but even if I take the other .dll out - WiX refuses to acknowledge the existance of the AutomationUtils .. even though it builds ok (but falls over when you try and run it). 但即使我把另一个.dll拿出来 - WiX拒绝承认AutomationUtils的存在......即使它构建正常(但是当你尝试运行它时会失败)。

The BinaryKey='InstallUILib' will refer to a Binary element with Id='InstallUILib' . BinaryKey='InstallUILib'将引用Id='InstallUILib'Binary元素。 The CustomAction/@DllEntry attribute is the name of the function entry point into the custom action .dll in the Binary element. CustomAction/@DllEntry属性是Binary元素中自定义操作.dll的函数入口点的名称。 That name needs that ::GetProcAddress() can access. 该名称需要:: GetProcAddress()可以访问。 I'm pretty sure a function named AutomationUtils;RunInstallerDLL is not valid. 我很确定一个名为AutomationUtils;RunInstallerDLL的函数AutomationUtils;RunInstallerDLL无效。

If you're looking to do managed code custom action (where you probably need multiple .dlls) this article is okay. 如果您正在寻找托管代码自定义操作(您可能需要多个.dll), 本文是可以的。 Otherwise, if you're creating a native custom action, I recommend creating a single .dll. 否则,如果您要创建本机自定义操作,我建议您创建一个.dll。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM