在修补期间,RemoveFile 表中的文件不会被删除

发布于 2024-09-25 15:01:13 字数 991 浏览 10 评论 0原文

我正在发布我的产品的新版本(小升级),我计划将其打包为补丁。这是InstallShield 2009 中的Basic 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

我将不胜感激您提供的任何帮助。

谢谢。

胡安·卡洛斯

I am releasing a new version of my product (minor upgrade), which I'm planning to package as a patch. This is a Basic MSI project in InstallShield 2009.

The installer creates some shortcuts on the desktop and in the All Program menu, this shortcuts make a reference to the version number, e. gr. "My Product 7.3", "My Product 7.3.2".

The change in the name of the shortcut is causing that after the upgrade is finished, the system ends up with duplicated shortcuts, one for version 7.3 and a second for version 7.3.2.

I made some research on this and started using the RemoveFile table, this worked fine when I created my patch 7.3.1, but now in patch 7.3.2 it isn't working in some cases. Let me clarify this.

This scenario DOES work:

  1. I install my product version 7.3 (full installer)
  2. Run patch 7.3.1 (windows installer patch). Shortcut for 7.3 is deleted fine.
  3. Run patch 7.3.2 (windows installer patch). Shortcut for 7.3.1 is deleted fine.

This scenario does NOT work:

  1. I install my product version 7.3
    (full installer)
  2. Run patch 7.3.2
    (windows installer patch). Shortcut
    for 7.3 is NOT deleted.

Note: I have tested my 7.3.2 version by running the full installer instead of the patch, and it works fine. It performs the minor upgrade and removes the old shortcut.

In my 7.3.2 patch I've added both 7.3 and 7.3.1 as previous setups.

A verbose log doesn't seem to provide much information (or probably I'm not doing the right search).

The component associated to the records in the RemoveFile table is updated correctly which I can verify in the log:

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

I will appreciate any help that you may provide.

Thanks.

Juan Carlos

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

长途伴 2024-10-02 15:01:13

如果之前的设置中仅包含 7.3,请检查补丁安装是否有效。

Check the patch installation works, if only 7.3 is inclided in previous setups.

梦屿孤独相伴 2024-10-02 15:01:13

似乎本例中的问题与我在创建补丁时不小心更改了源文件有关。因此文件表与我真正发送的文件不匹配。这与升级产生了某种冲突。我始终使用正确的文件重复了该场景,并且效果很好。

Seems like the problem in this case was related to the fact that when I accidentally changed the source files when creating the patch. So the file table didn't match with the files that I was really shipping. This created some sort of conflict with the upgrade. I've repeated the scenario using always the correct files and it worked fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文