-1
假设我们有msi x.msi,它正在安装一个xap文件。是否可以覆盖由其他msi安装的xap文件?
我们想通过另一个msi覆盖xap文件(例如使用y.msi)。
是否可以通过其他msi覆盖?它会有任何问题,因为它不会有任何关联的版本号?
如果可能会发生什么,如果我们卸载x.msi?
是否建议覆盖由其他msi安装的文件?
假设我们有msi x.msi,它正在安装一个xap文件。是否可以覆盖由其他msi安装的xap文件?
我们想通过另一个msi覆盖xap文件(例如使用y.msi)。
是否可以通过其他msi覆盖?它会有任何问题,因为它不会有任何关联的版本号?
如果可能会发生什么,如果我们卸载x.msi?
是否建议覆盖由其他msi安装的文件?
即使是应用程序二进制文件,XAP文件也没有版本资源,因此Windows安装程序无法正确版本。因此,你可能会进入DLL地狱,因为最后一个包会被安装。
为了缓解这种情况,可以考虑使用版本构建一个无意义的DLL,并将其用作组件的密钥文件。这样MSI将评估基于DLL版本的安装。这应该可以防止XAP的版本冲突。
确保两个MSI具有相同的组件标识并且组件标记为共享。这将适应正确的引用,以便上次卸载将删除该组件。