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

时间:2010-06-07 16:29:11

标签: c# visual-studio-2008 javascript

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

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

提前致谢!

萨姆

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

4 个答案:

答案 0 :(得分:33)

我会按照这个过程

在您的主项目中

  • 增加装配版本编号

在Visual Studio安装项目中

  • 将“删除上一版本”设置为true
  • 增加版本号(这会 也为您更改产品代码)

答案 1 :(得分:13)

解决错误的步骤:

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

    msiexec / i program_name.msi / lv   LOGFILE.LOG

    其中program_name.msi是新版本

    / lv是log Verbose output

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

    2. 在日志中找到GUID

    3. 我在下面找到了它:

        

      属性表中的产品代码   在转换之前:'{GUID}'

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

        Windows SDK Components for Windows Installer Developers

      2.   

        msizap.exe TWP {GUID}

        它完成了技巧并成功删除了已安装的服务。

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

答案 2 :(得分:4)

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

  

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

本文介绍了ProductCode,ProductVersion和UpgradeCode:

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

答案 3 :(得分:3)

打开“设置项目属性” 单击ProductCode ..新代码 单击UpgradeCode ..新代码 重建并安装