我有一个InstallScript函数,在安装期间运行时运行正常,我需要在卸载期间运行。它正在备份现有的应用程序。我为它创建了一个自定义操作,并在InstallValidate之后将其添加到执行序列中。
据我所知,卸载时没有生成日志文件,所以我无法通过“功能传输错误”-1603找出失败的原因。
我很确定函数没有被调用,因为我把MessageBox作为第一件事。
答案 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>")
以防您将来或将来安装多个功能。 (当然,除非您只想在卸载整个产品的情况下运行自定义操作)