5

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

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

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

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

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

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

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

我点击了resequence RemoveExistingProducts,还是一样。

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

有人知道我做错了什么吗?我完全不知道我做错了什么......

4

1 回答 1

5

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

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

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

[InstallShield 设置项目] -> 组织您的设置 -> 升级路径

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

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

于 2012-11-17T05:22:25.700 回答