在VS2012中使用InstallShield更新应用程序

时间:2012-10-21 00:13:31

标签: c#

我正在尝试使用Visual Studio 2012中的Install Shield项目更新应用程序。

我已经阅读了大量关于它的文章/ stackoverflow问题,每一个都提供了更新现有应用程序的相同步骤:

  • 增加产品版本
  • 更改产品代码
  • 构建设置

所以我就这样做了。首先,我构建我的应用程序,然后我构建设置。我找到了设置,然后运行它。它按预期安装应用程序。

然后我对我的应用程序做了一个小改动(例如改变背景颜色),然后我:

  • 我构建应用程序
  • 将产品版本从1.00.0000增加到1.00.0001
  • 更改产品代码 - 我单击{...}以自动生成新的
  • 确保更新代码相同
  • 构建设置

转到我之前找到设置的同一目录,然后运行安装程序。它表示它安装,但是当我运行程序时,它是原始程序 - 并在我的控制面板>程序,现在有2个应用程序实例。在应用程序的安装目录中,它仍然是原始文件。

我点击了重新排序的RemoveExistingProducts,但仍然是一样的。

编辑:我只是使用VS2012附带的InstallShield的基本版本

任何人都有任何想法我做错了什么?我完全不知道我做错了什么......

1 个答案:

答案 0 :(得分:5)

如VS2012中InstallShield的升级路径部分所述:

如果您已发布产品的早期版本,并且希望确保最终用户能够升级到当前版本而无需手动安装早期版本,然后再安装当前版本,请使用“升级路径”视图指示升级信息。

因此,为了升级以前的任何安装,您需要将应用程序的升级代码添加到“升级路径”中。您可以从解决方案资源管理器中执行此操作:

[InstallShield设置项目] - >整理您的设置 - >升级路径

在该选项卡中,您将右键单击中心窗格左侧的“升级路径”选项,然后选择“新升级路径...”。然后,您将看到为项目选择安装程序(.exe或.msi)的选项,该选项将填充“升级代码”字段。确保设置“最小版本”和“最大版本”字段,以指定要升级新安装程序的应用程序版本。如果您希望新安装程序升级任何已安装的应用程序版本,只需将“包括最大版本”和“包含最小版本”字段设置为否。

您现在应该设置构建解决方案,并且在运行新安装程序时,您会发现您将不再遇到您指定的问题。