有谁知道如何包含 DLL,以便我的自定义操作 DLL 可以使用它,因为它依赖于它。我只需要一种方法将 DLL 捆绑到 MSI 中,并与自定义操作 DLL 一起解压到临时安装文件夹中。如果它在那里,那么自定义操作 DLL 将能够找到它,从而能够运行。
我已在线阅读,将其添加为引用并将复制本地属性 top 设置为 true,但这似乎不可能,如果有其他方法,我将不胜感激。
最佳答案
WIX 工具集允许您使用其部署工具基础 (DTF) 功能创建托管 (.net) 自定义操作。整个 Visual Studio 解决方案可以输出到单个 DLL,准备嵌入到 MSI 的二进制表中。在运行时,所有内容都会自动解压并执行。这对我来说是一个救星,因为它允许您非常轻松地创建极其强大的自定义操作(关于不要在自定义操作中做愚蠢的事情的标准警告适用于此处)。 DTF 方法非常优雅、易于使用且工作可靠。
既然您可能已经有一个可用的自定义操作 dll,那么您是否可以创建一个小型 DTF 自定义操作来调用现有 dll 中的方法?如果您的 dll 可以被 .net 程序集引用,那么这应该是可能的。当您在 Visual Studio 中构建自定义操作项目时,它应该吸收所有引用并将它们打包到输出 dll 中。
关于wix - 自定义操作 DLL 依赖于另一个 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24913445/