我的Visual Studio 2008安装项目已更改,因此MFC和VC的合并模块已替换在安装文件夹中手动安装的DLL。我没关系合并模块,但是有一个问题。在之前的设置中,用户可以选择“Everyone”和“Just me”。在新设置中,此选择无效,并且由于合并模块必须为每个人安装,因此安装始终适合所有人。因此,如果以前的安装“仅适合我”,那么新安装不会删除先前安装的DLL,而在控制面板中有两个具有相同名称的安装。
在新版本的安装项目中,更改了ProductCode,而不是UpgradeCode,RemovePreviousVersion设置为true,版本高于以前版本。
如果我从安装程序中排除合并模块,并且“仅为我”安装新版本,那么一切都很好。旧文件被删除,控制面板中只有一个安装。但我宁愿不通过单独安装可再发行软件包来增加用户负担。
我如何在Visual Studio 2008安装程序中同时具有合并模块,并指示安装程序删除以前的版本,即使先前版本“仅适合我”,而新版本适用于“所有人”?
更好的问题是,您将采取哪些措施来解决此问题?
答案 0 :(得分:0)
Windows Installer(MSI文件的处理程序)在安装另一个产品时不会卸载一个产品。此外,当按用户(“只是我”)和每台机器(“每个人”)安装时,相同的安装被视为两种不同的产品。因此,如果要为每台计算机安装new,则无法从.msi中卸载旧的每用户安装。
选项按优先顺序排列: