インストーラーは .NET フレームワークを再配布する必要がありますが、setup.exe ラッパーは使いたくないので、エンド ユーザーのマシンにまだない場合に .NET の Web インストーラーを起動するカスタム アクションを作成しました。 . これは .NET 4.0 および .NET 3.5 では問題なく動作しますが、.NET 4.5 の場合、.NET インストーラーは「別のインストールが完了するのを待っています」と報告し、失敗します。ネストされたインストールを可能にするために、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;