【问题标题】:Windows Installer - No repair is triggered with .NET (assembly files) keyfiles are deletedWindows Installer - .NET(程序集文件)不会触发修复 删​​除密钥文件
【发布时间】:2012-06-12 20:59:46
【问题描述】:

我创建了一个 Windows Installer MSI 包,它安装程序集二进制文件 (exe) 及其库 (dll),每个库都有自己的密钥文件。当我删除程序集二进制文件或资源文件时,它不会触发修复?每次都用相同的安装程序修复 Win32 二进制文件和资源文件?

【问题讨论】:

  • 如果您的安装程序正确设置了每个组件一个二进制文件并定义了关键路径,并且您正在通过广告的快捷方式调用主应用程序 EXE,那么自我修复应该可以正常工作,无论是否文件是 win32 或 .NET。您是否使用两个不同的安装程序进行测试?我敢打赌,您没有为您的 .NET 安装使用正确的广告快捷方式,或者您已将广告的快捷方式单独放入功能中。

标签: installation windows-installer installshield


【解决方案1】:

修复和弹性的含义略有不同。调用修复(例如通过添加/删除程序)并触发弹性。

弹性的常见触发器是广告快捷方式和 COM 激活。当弹性被触发时,它将调用损坏组件所属的整个主要功能的修复。

由于您的 .NET,您不太可能使用 COM。使用 EXE 的广告快捷方式并将所有组件放在同一功能中。如果这不起作用,还可以通过代码中的互操作库调用 MSI API 来执行您自己的自定义运行状况检查并调用修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-17
    • 2014-04-18
    • 2016-11-17
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多