【问题标题】:Is it possible to overwrite a xap file which was installed by another msi?是否可以覆盖另一个 msi 安装的 xap 文件?
【发布时间】:2012-09-25 10:49:20
【问题描述】:

假设我们有 msi x.msi 并且它正在安装一个 xap 文件。

我们想通过另一个 msi 覆盖 xap 文件(例如使用 y.msi)。

是否可以通过另一个 msi 覆盖?它不会有任何问题,因为它没有任何关联的版本号?

如果我们卸载 x.msi 可能会发生什么?

是否建议覆盖另一个 msi 安装的文件?

【问题讨论】:

    标签: installation windows-installer xap


    【解决方案1】:

    XAP 文件尽管是应用程序二进制文件,但没有版本资源,因此 Windows Installer 无法正确对其进行版本控制。结果,您可能会进入 DLL 地狱,因为最后一个包将被安装。

    要缓解这种情况,请考虑使用版本构建无意义的 DLL,并将其用作组件的密钥文件。这样 MSI 将根据 DLL 版本评估安装。这应该可以防止 XAP 的版本冲突。

    确保两个 MSI 具有相同的组件 ID,并且该组件被标记为共享。这将适应正确的引用,以便最后一次卸载将删除该组件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-10
      • 2012-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 2019-12-01
      相关资源
      最近更新 更多