1

我正在使用InstallShield 2012 Spring Express。我终于明白,在我的应用程序安装过程中,如果将其“In-Script Execution”属性设置为“系统中的延迟执行”,我可以使用提升的进程EXE(应用程序清单设置为“requireAdministrator”)运行自定义操作语境“。InstallShield 2012 Spring Express:如何在卸载时以管理员身份运行自定义操作?

这很好。

但是现在我必须能够在卸载过程中完成同样的事情。到目前为止,即使在InstallShield 2012 Spring Express的付费版本中,我也无法使其工作。

首先,对于“卸载期间的自定义操作”部分,只有两个条目,“系统更改前”和“系统更改后”。

我没有尝试将自定义操作添加到“系统更改后”,因为我需要运行的EXE是我的程序包的一部分(因此将被删除。)然后我将它添加到“系统更改前”。现在由于某种原因,当我将它添加到“系统更改前”时,没有“In-Script Execution”选项。因为我没有这个选项,所以当我的卸载尝试运行提升的进程EXE时,它会失败,并显示错误1721 ...这与我在安装过程中得到的错误完全相同,直到我更改了“In -Script Execution“选项更改为”系统环境中的延迟执行“。

那么,如何才能让我的提升进程EXE在卸载过程中正确运行? InstallShield是否无法正确处理?

感谢, JP

回答

0

您可以编写使用Windows Installer XML来正确地安排和顺序您的自定义操作合并模块。 InstallShield express可以使用该模块。请参阅:

Augmenting InstallShield using Windows Installer XML - Certificates

如果你不舒服的混合工具(这就像写在VB.NET一个DLL和C#编写的一个EXE引用它),那么你就必须升级到的InstallShield专业的。

相关问题