0

我正在发布我的产品的新版本(小升级),我计划将其打包为补丁。这是 InstallShield 2009 中的基本 MSI 项目。

安装程序会在桌面和所有程序菜单中创建一些快捷方式,这些快捷方式引用版本号,例如。克。“我的产品 7.3”、“我的产品 7.3.2”。

快捷方式名称的更改导致升级完成后,系统以重复的快捷方式结束,一个用于7.3版本,另一个用于7.3.2版本。

我对此进行了一些研究并开始使用RemoveFile表,当我创建补丁 7.3.1 时它工作正常,但现在在补丁 7.3.2 中它在某些情况下不起作用。让我澄清一下。

这种情况确实有效:

  1. 我安装我的产品版本 7.3(完整安装程序)
  2. 运行补丁 7.3.1(Windows 安装程序补丁)。7.3的快捷方式被删除了。
  3. 运行补丁 7.3.2(Windows 安装程序补丁)。7.3.1 的快捷方式被删除了。

这种情况不起作用:

  1. 我安装我的产品版本 7.3(完整安装程序)
  2. 运行补丁 7.3.2(Windows 安装程序补丁)。7.3 的快捷方式不会被删除。

注意:我已经通过运行完整的安装程序而不是补丁来测试我的 7.3.2 版本,它工作正常。它执行次要升级并删除旧的快捷方式。

在我的 7.3.2 补丁中,我添加了 7.3 和 7.3.1 作为以前的设置。

详细的日志似乎没有提供太多信息(或者我可能没有进行正确的搜索)。

与 RemoveFile 表中的记录关联的组件已正确更新,我可以在日志中验证:

MSI (s) (58:EC) [15:51:44:846]: Component: ProgramFiles; Installed: Local;   Request: Local;   Action: Local

我将感谢您提供的任何帮助。

谢谢。

胡安卡洛斯

4

2 回答 2

0

检查补丁安装是否正常,如果以前的设置中只包含 7.3。

于 2011-02-18T10:43:00.937 回答
0

似乎这种情况下的问题与我在创建补丁时不小心更改了源文件的事实有关。所以文件表与我真正运送的文件不匹配。这与升级产生了某种冲突。我已经使用正确的文件重复了这个场景,并且效果很好。

于 2012-06-22T21:55:45.143 回答