InstallShield 2012:尝试在卸载期间运行InstallScript自定义操作但收到错误

时间:2012-04-06 01:07:45

标签: installshield

我有一个InstallScript函数,在安装期间运行时运行正常,我需要在卸载期间运行。它正在备份现有的应用程序。我为它创建了一个自定义操作,并在InstallValidate之后将其添加到执行序列中。

据我所知,卸载时没有生成日志文件,所以我无法通过“功能传输错误”-1603找出失败的原因。

我很确定函数没有被调用,因为我把MessageBox作为第一件事。

2 个答案:

答案 0 :(得分:0)

要在卸载期间运行自定义操作,请在“安装UI条件”或“安装执行条件”中将其条件设置为REMOVE="ALL",这适用于您的情况。

要在已安装产品时运行自定义操作,条件应设置为Installed

要在未安装产品时运行自定义操作,条件应设置为Not Installed

我相信您可以使用以下msiexec命令记录卸载:

msiexec /x YourProduct.msi /L*v logfile.txt

msiexec /x {Your Product/Package Code} /L*v logfile.txt

答案 1 :(得分:0)

您应该将Install UI Condition或Install Exec Condition设置为

(REMOVE="ALL")OR(REMOVE="<feature_being_uninstalled>")

以防您将来或将来安装多个功能。 (当然,除非您只想在卸载整个产品的情况下运行自定义操作)