我只需要在修复期间运行自定义操作。但我没有找到有效的条件。 如果我使用以下条件指定自定义操作,则它将在“修改”模式和“修复”模式下运行。
Installed AND Not REMOVE
我正在使用InstallShield 2012 spring。
答案 0 :(得分:2)
检查REINSTALL属性。有关自定义操作的条件声明应类似于REINSTALL<>“”
答案 1 :(得分:1)
供将来参考检查这些备忘单:
我没有时间经历所有这些条件并对它们进行测试,但后一个表看起来很合理。但是:
我相信{(1}}有时可以在安装期间设置(例如(和更改)) - 处理所有可能的排列非常复杂,因为MSI的命令行界面和属性配置非常灵活。
Installshield备忘单我从未主动使用或检查过。请检查他们的修理建议 - 根据修理方式的不同,有不同的建议。
请记住检查自我修复 - 只需删除主应用程序EXE并触发自我修复,然后调用应用程序的广告快捷方式(如果有)。我检查了多年,但自我修复只能在InstallInitialize和InstallFinalize之间运行。
答案 2 :(得分:0)
REINSTALL =“”将被评估为True,因此确切的条件是(已安装且未移除)和(REINSTALL =“”) 因为(已安装和未删除)在修改和修复操作期间为True,但在修复期间REINSTALL属性将设置为空白