我有一个安装Windows服务的MSI安装程序项目 .
我的版本编号方法最好用这篇文章描述:What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion?
我没有更改我的安装项目的版本,因为这没有改变,我这样做时遇到了太多问题 .
我已经使用以下程序集版本安装了我的服务
[assembly: AssemblyVersion("4.3")]
[assembly: AssemblyFileVersion("4.3.0.0")]
我刚刚为这个版本构建了一个MSI安装程序:
[assembly: AssemblyVersion("4.3")]
[assembly: AssemblyFileVersion("4.3.1.0")]
当我运行MSI时,它告诉我需要卸载以前的版本 .
我该如何解决这个问题?我最终想做的是:
-
安装MSI
-
安装(re:upgrade to)另一个覆盖以前版本的版本(提示或没有提示)a . 在安装更新之前,我不想卸载 .
我的安装程序项目属性是:
RemovePreviousVersions - True InstallAllUsers - True DetectNewerInstalledVersion - False Version - 4.3.0
我尝试过的:
-
更新项目的程序集版本 . 但是,这会在“添加删除程序”中创建相同产品的多个版本 . 不想要我的Windows服务
-
更改安装程序项目的版本号 . 但是在尝试安装任何版本的MSI时会产生很多错误 . 我甚至收到警告说我正在网络驱动器上安装! (哇) .
任何帮助都会摇滚!
谢谢 .
1 回答
在setup的安装项目属性中,您需要为每个版本增加“Version”属性,同时保持相同的UpgradeCode .
当您递增版本时,它会提示您是否要更改ProductCode,回答“是” .
您还必须具有用于删除先前版本的属性,并检测设置为true的新版本 .