1

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

没有生成日志文件,据我所知卸载,所以我无法弄清楚为什么它失败并出现“功能转移错误”-1603。

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

4

2 回答 2

0

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

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

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

于 2012-05-04T05:34:06.617 回答
0

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

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

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

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

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

或者

msiexec /x {Your Product/Package Code} /L*v logfile.txt
于 2012-04-06T02:07:02.607 回答