【问题标题】:Custom Action DLL dependent on another DLL依赖于另一个 DLL 的自定义操作 DLL
【发布时间】:2014-07-23 14:36:10
【问题描述】:

有谁知道包含 DLL 的方法,以便我的自定义操作 dll 可以使用它,因为它依赖于它。我只需要一种方法将 DLL 捆绑到 MSI 中,并将其与自定义操作 DLL 一起解压缩到临时安装文件夹中。如果它在那里,那么自定义操作 DLL 将能够找到它并因此能够运行。

我已在线阅读以将其添加为参考并将复制本地属性设置为 true 但似乎不可能,如果有其他方法我将不胜感激。

【问题讨论】:

  • 是否可以选择静态链接 dll 以避免运行时依赖?通过在 Visual Studio 中设置编译器选项,我已经多次这样做了。
  • 这个自定义操作是做什么的?它可以延迟运行(系统上下文)还是处理用户配置文件或用户数据位置?

标签: wix installation windows-installer custom-action


【解决方案1】:

WIX 工具集允许您使用其部署工具基础 (DTF) 功能创建托管 (.net) 自定义操作。整个 Visual Studio 解决方案可以输出到单个 dll,准备好嵌入到 MSI 的二进制表中。在运行时,一切都会自动解包并执行。这对我来说是一个救命稻草,因为它允许您非常轻松地创建极其强大的自定义操作(关于不要在自定义操作中做愚蠢事情的标准警告适用于此)。 DTF 方法非常优雅、易于使用且工作可靠。

既然您可能已经有一个工作的自定义操作 dll,也许您可​​以创建一个小的 DTF 自定义操作来调用现有 dll 中的方法?如果您的 dll 可以被 .net 程序集引用,这应该是可能的。当您在 Visual Studio 中构建自定义操作项目时,它应该吸收所有引用并将它们打包到输出 dll 中。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 2011-01-13
    • 2017-01-16
    • 2019-12-16
    相关资源
    最近更新 更多