卸载以前的版本安装了新版本的安装项目

时间:2016-08-31 10:42:01

标签: windows winforms installation setup-deployment

我创建了一个安装项目并安装在Windows系统中。在开始安装安装项目之前,我将设置为

DetectNewInstallerVersion = true 

RemovePreviousVersion = True 

我每次都更改了版本。但是,如果我重建安装项目然后再次安装msi文件,它将不会覆盖现有文件,它也将在程序功能中创建一个新的应用程序。我想卸载以前的版本并安装新版本而不需要手动卸载。

2 个答案:

答案 0 :(得分:3)

经过多次试验和尝试,即使阅读了这个社区的回复,我也试着给你一个比我找到的更完整的答案。

1)右键单击解决方案项目,然后单击 Properties 。在应用程序中,请记住框架的版本(安装程序必须具有相同的版本),然后单击程序集信息。在这里,使用前三个块编写自定义版本(汇编版本文件版本应该相同)(因为setup属性没有第四个块),例如1.0.0。

2)在 Explore Solutions 面板中,在 Detected Dependencies 文件夹中输入安装项目的树视图,然后双击 Microsoft .NET Framework < / strong>并设置

Version = .NET Framework (X.X.X)

其中 X.X.X 是解决方案项目中使用的框架的版本号。

3)右键单击项目解决方案,然后单击 Properties 。设置:

DetectNewerInstalledVersion = True
RemovePreviousVersions = True
Version = //the number used in the assembly at the point 1)

将显示消息如果更改版本,建议更改ProductCode。你想这样做吗?点击

4)右键单击您的项目解决方案,然后重新编译。如果输出面板没有报告任何错误,您可以进入调试文件夹(通常是 C:\ Users \ YOURPCNAME \ Documents \ Visual Studio 2017 \ Projects \ YOURPROJECTNAME \ YOURPROJECTNAME \ bin \ Debug )并使用.msi或.exe文件来安装项目。

当您需要更改版本号时,请再次运行上述四点。 我将这个模式用于我的项目,并且.msi文件一直有效。

答案 1 :(得分:1)

结合Wiccio发布的内容,我还发现将属性 InstallAllUsers 设置为 true

InstallAllUsers = True