当我尝试对我的应用程序进行次要升级时,我启动了安装程序并且(根据我尝试的设置组合)我得到了:
我不相信我应该得到这些提示中的任何一个。我主要期望安装程序自动应用升级而不提示任何内容。我想我在Visual Studio安装项目中正确地做了一切:
我已经尝试了几乎所有代码/标志和技术的组合,但似乎无法应用更新。
关于我还能尝试什么的任何想法?
答案 0 :(得分:1)
为了让它发挥作用我:
答案 1 :(得分:0)
首先要做的事情:您确定没有在两个MSI文件中重新使用包GUID ,或者在部署工作期间的某个时刻和测试?
尝试使用新GUID重建两个MSI文件,以将它们与任何现有缓存版本“解耦”,然后再次尝试测试安装。更改包裹代码和产品代码。更好的是:在干净的虚拟机上测试这些新版本,以确保不受过去罪恶影响的正确测试环境。由于包guid冲突,您的开发人员系统可能在其Windows安装程序数据库中有gremlins。如果是这种情况,软件包安装将成为总XFiles - 可能会发生最奇怪的事情。
更多详情: 如果两个MSI文件的包GUID相同,则Windows Installer将根据定义将它们视为同一文件 - 无论它们包含什么。这可能会导致各种难以清理和调试的奇怪问题。请注意,即使您忘记更新一次也会发生这种情况,因为安装MSI会导致它被缓存在C:\ Windows \ Installer文件夹中的系统上(此文件夹被隐藏并受到保护)。如果启动了具有相同GUID的MSI文件,则将重新使用此缓存副本(至少对于早期版本的Windows Installer来说就是这种情况 - 现在可以修复此问题。)
如果您使用的是Installshield,则应启用“始终生成打包GUID”功能,以确保不会发生这种情况。包GUID应始终针对每个构建进行更改 - 没有任何理由保持硬编码。我相信WIX会自动生成包GUID,除非你专门覆盖它。