【问题标题】:Upgrading Application using InstallShield使用 InstallShield 升级应用程序
【发布时间】:2025-11-24 07:35:01
【问题描述】:

这是我的情况:

我创建了一个安装程序。它具有 python 脚本、可执行文件和其他文件类型。在安装程序中,我在注册产品后将 C# 可执行文件作为自定义操作运行。 C# 可执行文件将文件移动到不同的位置(即文本文档将移动到我的文档)。我知道我可以在没有自定义操作的情况下执行此操作,但我在创建安装程序时并没有意识到这一点。

现在,在我分发软件后,用户遇到了一些小错误。例如,如果签入其中一个 python 脚本,则会出现错误。

问题 有没有办法修复损坏的 python 脚本/可执行文件/文本文档部分,并简单地更新这些文件(无需重新分发软件,并让他们重新安装)?

【问题讨论】:

    标签: c# python installshield patch software-distribution


    【解决方案1】:

    很抱歉,我显然错过了您发表评论的触发器。

    如果这是您想知道的,请查看此表。它显示何时使用主要、次要或小修复(补丁)。

    希望对你有帮助。

    干杯!

    http://helpnet.installshield.com/installshield17helplib/MajorMinorSmall.htm

    【讨论】:

      【解决方案2】:

      补丁可能对您没有帮助。如果安装中的位置是固定的,那么小升级就可以解决问题,如果您使所有需要保持不变的文件“永不覆盖”(除非自定义操作忽略这一点,否则事情可能会变得困难)。

      如果位置是在执行自定义操作期间确定的,或者位置是在安装期间基于用户输入的,那么如果您没有保存位置路径(例如,在注册表中),就会出现问题.我认为您不需要自定义操作来扫描计算机的所有驱动器来查找文件。

      如果通过自定义操作将文件放在新位置,Windows 安装程序可能不会将它们视为关键文件,并且可能不会在任何情况下“修复”它们。如果修复很少,您最好单独分发文件并附上明确的说明,而不是花费大量时间在一个困难的新自定义操作上。

      干杯,B.

      【讨论】:

      • 感谢您的回复。需要覆盖的文件位于应用程序的 Program Files 目录中的 exe 文件中(对于本例)。这次小升级会是路线吗?