这个地方做一个小总结,来到新公司接手新项目。增加功能后打包生成新版本的文件要能覆盖安装。但是本地却出现了两个版本共存的问题(两个图标,控制面板卸载程序中也是两个版本都存在),并没有完全覆盖。
由于是接受的项目,不知道上一版本的UpgradeCode,用Orca查看后发现值一致。DetectNewerInstalledVersion也设置的是True,但是就是覆盖不成功。而且共存的两个版本中软件都是指向的同一个安装目录。卸载掉新的版本,旧版本就不能正常打开。
后来捣鼓了好久终于解决,产生问题的原因就是上一版本中在打包的时候InstallAllUsers设置的为false,安装的时候恰好也选择的是“为自己安装”,然后新版本InstallAllUsers该值设置的是true,而新版本安装时,默认选择了“为所有人安装”。
解决方法就是两个版本在安装时选择同一个安装方式。问题即可解决。