4

私は Inno Setup を使用して、自分のアプリケーションの 1 つの .NET 2.0 フレームワークをチェックしてインストールしています。アプリケーションをインストールする前に、レジストリ キーをチェックし、.NET インストーラーをダウンロードしてインストールするだけで、問題なく動作します。

私が理解していることから、これはWindows 8では機能しません。Windows 8は、W8の「Windows機能のインストール」アプレットによって有効になる.NET 3.5パッケージに.NET 2.0をバンドルします。.NET 2.0 インストーラーをダウンロードするよりも、.NET 3.5 サポートを有効にする Windows 機能アプレットのインストールを Inno にトリガーしてもらいたいと思います。これを行う方法はありますか?

4

2 に答える 2

5

解決

提案してくれた@Miralに感謝します。

Windows 8 が実行されているかどうかを判断する追加のチェックが追加されました。

GetWindowsVersionEx(Version);
if (Version.Major=6) and (Version.Minor=2) then
  begin
    Windows8:=true;
  end;

次に、次のコードを NextButtonClick イベントに含め、CurPage が wpReady かどうかを確認します。

 if dotNetNeeded and Windows8 then
    begin
      Exec('Dism', ' /online /enable-feature /featurename:NetFx3 /All /NoRestart', '', SW_SHOW, ewWaitUntilTerminated, ResultCode)
    end;
于 2013-06-20T01:50:54.127 に答える
5

Microsoft によると、再頒布可能ファイルを実行しようとすると、Windows 8 でこの機能の内部アクティベーションが自動的にトリガーされるはずです。

ただし、再配布可能ファイルをオンデマンドでダウンロードする場合は、Windows 8 以降を検出し、次のコマンド ラインを使用してインストールをトリガーする方が効率的です。

Dism /online /enable-feature /featurename:NetFx3 /All

Inno では、イベント関数Exec内からこれを行う必要があります。PrepareToInstall

于 2013-06-19T21:03:39.523 に答える