Visual Studio打包:已安装此产品的另一个版本

我为一个使用C#和Jscript的项目创建了一个msi。 version-1.0目前是公开的。 我想发布一个错误修复版本的v-1.0.1这个包,但在测试时,我得到“此产品的另一个版本已经安装此版本的安装无法继续。要配置或删除此版本的现有版本产品,使用“控制面板”上的“添加/删除程序”。

我想要这个修复错误的版本静默安装,而不要求用户卸载并安装新版本。 请帮助我如何实现这一目标,我正在使用visual studio 2008。

提前致谢!

山姆

更新:我尝试更改包代码但是使用相同的工作目录创建包的两个实例。 Visual Studio极客请帮忙。

我会按照这个过程

在你的主项目中

  • 增加你的assembly版本号。

在Visual Studio安装项目中

  • 将“删除以前的版本”设置为true
  • 增加版本号(这也会改变产品代码)

解决错误的步骤:

  1. 从命令提示符处执行以下命令:

msiexec / i program_name.msi / lv logfile.log

其中program_name.msi是新版本

/ lv是log Verbose输出

  1. 在编辑器中打开logfile.log

  2. 在日志中找到GUID

我在下面找到了它:

变换前属性表中的产品代码:'{GUID}’

  1. 如果已安装或从Microsoft网站获取,则从visual studio命令提示符执行msizap follow命令

    适用于Windows Installer开发人员的Windows SDK组件

msizap.exe TWP {GUID}

它成功了,并成功删除了已安装的服务。

摘自[已解决]已安装此产品的另一个版本。 此版本的安装无法继续。 要配置或删除此产品的现有版本,请使用“控制面板”上的“添加/删除程序”] 2

您必须指定UpgradeCode并增加ProductVersion以更新产品。 对于较新版本,UpgradeCode将保持不变。

UpgradeCode属性表示由相同产品的不同版本和不同语言版本组成的一系列相关应用程序。

本文介绍了ProductCode,ProductVersion和UpgradeCode:

http://msdn.microsoft.com/en-us/library/aa370837%28v=VS.85%29.aspx

打开安装项目属性单击ProductCode ..新代码单击UpgradeCode ..新代码重建和安装