是否可以覆盖由另一个 msi 安装的 xap 文件



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

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

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

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

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

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

若要缓解此问题,请考虑使用版本生成一个无意义的 DLL,并将其用作组件的密钥文件。 这样,MSI 将根据 DLL 版本评估安装。 这应该可以防止 XAP 的版本冲突。

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

最新更新