InstallShield的中止和退出命令无法在windows 2012 r2服务器上运行
我有现有的产品,它使用installshield 2011来生成msi。InstallShield的中止和退出命令无法在windows 2012 r2服务器上运行
目前我们计划支持windows server 2012 R2,但现有的代码不起作用。
我们有一个场景,我们检查某些依赖项是否丢失,我们中止或退出,但这不适用于Windows 2012 R2。
是否有任何其他方式来处理这个问题,我已经在一些论坛上检查过它返回“ERROR_INSTALL_FAILURE”,但是我不能从customAction的大部分部分返回。
我该如何中止安装在同一点。
感谢,
我相信不存在与未促成ERROR_INSTALL_FAILURE
从被沿途的固定的安装InstallScript自定义操作返回abort
问题;您可以通过在您使用的版本之后查看InstallShield版本的发行说明来验证此情况。如果升级是一个选项,那可能是最简单的,因为InstallShield 2011并不正式支持Windows Server 2012 R2。 (这有助于我的雇主继续支付我的费用。)
如果您想修复您拥有的行为,这听起来像您说的问题是您拥有深层嵌套功能,无法轻松将ERROR_INSTALL_FAILURE
自定义操作入口点。最少侵入性的变化可能是使用例外和exception handling。您可以将try
/catch
/endcatch
放入您的入口点函数(或多个函数)中,并使用Err.Raise
在先前使用abort
的位置引发异常。与链接示例不同,Err.Raise
和try
/catch
/endcatch
将故意处于不同的功能。
请注意,如果您使用abort
使用Err.Raise
改变功能与其他功能调用时,观察到的行为可能与函数的区别,除非他们同样异常翻译成他们首选的行为。