我的安装程序需要重新分发 .NET 框架,但我不想有 setup.exe 包装器,所以我编写了一个自定义操作来启动 .NET 的 Web 安装程序,如果最终用户机器还没有它. 这适用于 .NET 4.0 和 .NET 3.5,但对于 .NET 4.5,.NET 安装程序报告“等待另一个安装完成”并失败 - 如果我的自定义操作在 Exec 序列中,此错误消息将是正确的,但是我特别将它放在 UI 序列的早期,以允许嵌套安装。
完全相同的 InstallShield 配置/代码适用于 .NET 3.5 和 .NET 4.0,但不适用于 .NET 4.5,我使用的是 Microsoft 的标准 Web 安装程序:http: //www.microsoft.com/en-ca/download /details.aspx?id=30653
有谁知道这个问题的任何解决方案或解决方法?
这是我的自定义操作的代码:
if ( hasDotNET45 = FALSE ) then
MessageBox( "Missing .NET 4.5 framework!", INFORMATION );
LAAW_SHELLEXECUTEVERB = "runas";
LaunchApplication( szSupportDir^"\\dotNetFx45_Full_setup.exe", "", "", SW_SHOWNORMAL, 100000, LAAW_OPTION_USE_SHELLEXECUTE | LAAW_OPTION_WAIT_INCL_CHILD );
Delay( 333 );
endif;