user2321103 的回答非常好,在升级路径中创建新的升级条目是关键。不幸的是,这个选项被隐藏起来了,因为它是产生大多数人自然期望的安装程序的正常默认行为所必需的。
这个新答案的原因是我发现我可以将升级条目中的 Max Version 设置为更高的数字而不是当前版本。这意味着我不必记住为每个新版本都更新它。我当前的版本是 2.1.8,所以我将 Max Version 设置为 2.1.9999。万一我希望在未来的某个版本中有不同的行为,我可以将我的版本升级到 2.2.x
每当您更改版本号时,Microsoft 安装项目都会自动更新产品代码,但 Installshield LE 不会,因此需要记住每次都这样做。
正如其他答案所述,升级条目使用以前安装版本的升级代码很重要。我还没有尝试过,但大概如果由于某种原因您有多个具有不同升级代码的先前版本,那么您可以为每个版本创建一个单独的升级条目。
我不明白为什么你不能同时将 Include Min Version 和 Include Max Version 都设置为 No,但这似乎不起作用。我没有尝试过这些不同参数的每种组合,但如另一个答案中所述,以下设置似乎可以解决问题:
- 最低版本:空白
- 包括最低版本:是
- 最高版本:>= 当前版本
- 包括最大版本:是
不要将 Lang Search Criterion 更改为 Exclude 似乎也很重要。我还将忽略删除失败设置为是。我将 Migrate Feature States 设置为 No,但无论如何我认为这与 LE 版本无关。