代码之家  ›  专栏  ›  技术社区  ›  McClane

是否可以仅在修复模式下运行自定义操作

  •  2
  • McClane  · 技术社区  · 11 年前

    我只需要在修复期间运行自定义操作。但我没有找到这样做的有效条件。 如果我指定了一个具有以下条件的自定义操作,它将在“修改”模式和“修复”模式下运行。

    Installed AND Not REMOVE

    我正在使用InstallShield 2012春季版。

    3 回复  |  直到 11 年前
        1
  •  3
  •   NGaida    11 年前

    检查 REINSTALL 所有物自定义操作的条件语句应该看起来像REINSTALL<>""

        2
  •  1
  •   Ram    7 年前

    REINSTALL=“”将在安装和卸载阶段评估为True,因此确切条件为 (已安装但未拆除)和(重新安装=“”) 因为(Installed and NOT REMOVE)在修改和修复操作期间为True,但在修复期间REINSTALL属性将设置为空

        3
  •  1
  •   Stein Åsmul    7 年前

    供将来参考 检查这些备忘单:

    我还没有时间经历所有这些条件并进行测试,但后一张表从表面上看是合理的。然而:

    我相信 REMOVE 例如,有时可以在安装过程中设置(和更改)-由于MSI的命令行界面和属性配置非常灵活,因此处理所有可能性的排列非常复杂。

    这个 Installshield备忘单 我从未积极使用或检查过。请检查他们的修复建议-根据如何调用修复,有不同的建议。

    请记住 检查自修复 -只需删除主应用程序EXE并通过调用应用程序的播发快捷方式(如果有的话)来触发自修复。我已经检查了好几年了,但自我修复可能只在InstallInitialize和InstallFinalize之间运行操作。