2012-04-06 85 views
1

我有一个在安装过程中,我需要卸载期间运行运行时运行正常的安装InstallScript功能。它正在备份现有的应用程序。我为它创建了一个自定义操作并将其添加到InstallValidate后的执行序列中。的InstallShield 2012:试图运行卸载过程中的InstallScript自定义操作,但得到的错误

据我所知,卸载程序没有生成日志文件,所以我无法弄清楚为什么它会因为“Feature Transfer Error”-1603而失败。

我敢肯定的功能不被称为我把一个MessageBox的第一件事。

回答

0

应设置安装UI条件或安装Exec的条件,以

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

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

0

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

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

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

我相信你可以使用下面的msiexec命令登录卸载:

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

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

我还应该提到它是一个InstallScript MSI项目 – 2012-04-06 14:28:05

+0

我看到的错误看起来并不像它来自我的自定义操作。我以某种方式将我的安装与IS的状态无法解除它。我将它恢复到工作状态,现在调用了自定义操作。我确实添加了“REMOVE =”ALL“的条件 – 2012-04-06 20:40:39

相关问题