2

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

Installed AND Not REMOVE

我正在使用 InstallShield 2012 spring。

4

3 回答 3

3

检查重新安装属性。您的自定义操作的条件语句应类似于 REINSTALL<>""

于 2013-10-23T16:20:21.263 回答
1

REINSTALL="" 将在安装和卸载阶段评估为 True,因此确切的条件是(Installed and NOT REMOVE) AND (REINSTALL="") ,因为 (Installed and NOT REMOVE) 在修改和修复操作期间但在修复期间为 True REINSTALL 属性将设置为空白

于 2018-01-05T12:56:29.433 回答
1

为了将来参考,请检查这些备忘单:

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

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

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

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

于 2018-01-05T15:53:46.487 回答