在旧版本上安装新版本的部署项目
我有一个部署项目,它不会让我安装在旧版本上。 msi文件说,首先从“添加/删除程序”中卸载该程序。这不是一个好的用户体验。我该怎么做才能使安装程序首先删除软件,然后安装新版本?在旧版本上安装新版本的部署项目
这是棘手的,你必须做以下步骤,
- 集中删除以前安装的真
- 设定的检测为真新版本
- 你的C#程序的版本必须在每次部署增加
- 您应该将安装程序的版本更改为更高版本,并会要求您更改产品代码,请选择是。
- 不要更改升级代码,让它相同。
如果您没有正确执行第三步,安装程序仍然会安装并保留旧文件,如果您更改了内容,则每个文件的文件版本必须是新的。
设置安装项目属性RemovePreviousVersions真
但你必须使用相同的的UpgradeCode在这两个安装应用程序
+1感谢指出了相同的升级代码。 – 2010-06-11 17:33:03
我尝试了几个场景,也许这将帮助别人节省一些时间
如果组件版本发生变化并且项目安装程序版本发生更改(产品代码Guid也发生变化) - >应用程序安装在现有的顶部 - > dll和exe版本得到更新 - >如果安装路径不同,现有的最初安装的项目文件将从安装位置删除。 (既然做文件保留)
如果集版本的变化和项目安装程序版本的变化(不包括产品代码的Guid改变) - >要求用户手动删除该应用程序 - 如果他们继续前进,从控制面板中先删除> ,应用程序就可以进行安装和DLL和EXE文件可以更新到新版本
如果只有集版本的变化,或只项目安装版本的变化(不包括产品代码的Guid改变) - >要求用户手动删除该应用程序 - >如果他们继续并先从控制面板中删除,则可以安装应用程序,并将dll和exes更新到新版本
如果仅有项目安装程序版本发生更改(产品代码Guid也在更改) - > MSI会经历安装过程,但dll和exe不会更改版本 - 它们是按照程序集版本进行的,并且被替换为相同程序集的文件构建版本 - >如果安装的IF路径不同,则现有的最初安装的项目文件将从安装位置中删除。 (因为所做的任何文件保留)
如果项目安装的版本变化(与产品代码的Guid也在发生变化)和装配的版本比安装的版本 低 - >安装将开始,在最终用户被告知安装失败的旧版本。
有帮助..投票。 – Munavvar 2017-02-07 10:54:20
安装新版本后,有时可以这样做旧产品将保持不变。
您需要更改RemoveExistingProducts的序列号,它必须安排在 安装验证操作和InstallInitialize之间。您可以通过ORCA
做到这一点对于防爆InstallValidate = 1400 InstallInitialize = 1500
然后RemoveExistingProducts = 1450
这是什么都与C#编程语言呢? – 2010-06-11 17:35:12