【发布时间】:2013-03-05 00:34:19
【问题描述】:
我正在使用 InstallShield 2012 Spring Express。我终于发现,在我的应用程序安装过程中,如果我将其“In-Script Execution”属性设置为“Deferred Execution In System”,我可以使用提升的进程 EXE(应用程序清单设置为“requireAdministrator”)运行自定义操作上下文。”
这很好。
但现在我必须能够在卸载期间执行完全相同的操作。到目前为止,即使在 InstallShield 2012 Spring Express 的付费版本上,我也无法让它工作。
首先,对于“卸载期间的自定义操作”部分,只有“系统更改前”和“系统更改后”两个条目。
我没有尝试将我的自定义操作添加到“系统更改后”,因为我需要运行的 EXE 是我的包的一部分(因此到那时会被删除。)所以我将它添加到“在系统更改之前。”现在由于某种原因,当我将它添加到“系统更改之前”时,没有“脚本内执行”选项。而且因为我没有这个选项,所以当我的卸载尝试运行提升的进程 EXE 时,它会失败并出现错误 1721...这与我在安装过程中遇到的错误完全相同,直到我更改了“在-Script Execution”选项改为“Deferred Execution In System Context”。
那么,我怎样才能让提升的进程 EXE 在卸载过程中正确运行? InstallShield 是否无法正确处理此问题?
谢谢, JP
【问题讨论】:
标签: installation installshield installscript installshield-2012