C#安装项目安装程序不删除以前的版本

时间:2017-02-28 02:01:44

标签: c# installation setup-project

我想编写一个msi安装程序,在运行时卸载以前的版本。我在VS 2013中有一个安装项目,其中DetectNewerInstalledVersion = True,RemovePreviousVersions = True。这是我的工作:

  1. 我更改版本号(例如从1.0.3更改为1.0.4)。
  2. 我确保ProductCode发生了变化,而UpgradeCode却没有。
  3. 我右键单击安装项目,然后单击Build。
  4. 我在Debug文件夹中运行msi文件。
  5. msi运行得很好,但旧的EXE仍然在程序文件夹中。如果程序是新安装的话,它会成功安装程序。我做错了什么?

2 个答案:

答案 0 :(得分:3)

我终于找到了答案,我会在这里发布给那些偶然发现这个问题的人。这是我失踪的一步:

您需要转到属性>您的项目中的AssemblyInfo.cs并更新AssemblyVersion和AssemblyFileVersion数字。否则,此项目的EXE实际上不会更新。希望这有帮助!

答案 1 :(得分:0)

为什么不设置自定义操作来备份和删除以前的安装文件夹以增加安全性:)