.NET Framework 4.5 は既定で、.NET Framework 3.5 は省略可能です

プラットフォーム

クライアント Windows 8
サーバー Windows Server 2012

説明

Windows 8では、.NET Framework 4.5 が既定で有効になっています。 Windows 8 .NET 3.5 は既定では含まれませんが、.NET 3.5 のファイルはオプションの機能としてWindows 8インストール メディアで使用できます。

ユーザーが Windows 7 から Windows 8 にアップグレードする場合は、.NET Framework 3.5 が完全に有効になっており、コンピューター上のすべてのアプリが引き続き正常に動作するようにします。

症状

ユーザーがWindows 8のクリーン インストールを実行し、.NET Framework 3.5 (または 2.0) を必要とするアプリをインストールすると、必要な .NET 3.5 ファイルの要求がトリガーされます。 通常、見つからないファイルはWindows Updateからダウンロードされますが(ユーザーにアクセス許可を求めた後)、Windows Updateへのアクセスが不可能な場合、.NET Framework 3.5 を有効にすると、見つからないファイルの代替ソースが指定されていない限り失敗します。

対応策

Windows 8のクリーン インストールがあるテスト マシンでのみ .NET Framework 3.5 を有効にするには、

  1. マウントされているオペレーティング システムビルド ISO イメージから dotnet35 または同様のフォルダーに \sources\sxs\ をコピーします。 次に例を示します。

    xcopy e:\sources\sxs\*.* c:\dotnet35 /s
    
  2. 管理者特権を使用して、次のコマンド ラインを実行します。

    Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:c:\dotnet35 /LimitAccess
    
    

Note

sources\SxS フォルダーは、サポートされているメカニズムではないため、再配布メカニズムとして使用しないでください。

解決策

コンシューマーの場合:

Windows 8には、再頒布可能パッケージをインストールしようとしたときに、または .NET 3.5 を必要とするアプリケーション インストーラーが再頒布可能パッケージを呼び出すときに、.NET Framework 3.5 を自動的に有効にするメカニズムが含まれています。

アプリ開発者 (および IT 管理者) の場合:

IT 管理者は、.NET 3.5 または .NET 4.5 (既にインストールされている内容に応じて) で実行するように .NET 3.5 アプリを構成できます。 マネージド アプリを 3.5 または 4.5 で実行するには、アプリケーション構成ファイルにセクションを追加するだけです。 これにより、.NET 3.5 がインストールされている場合、アプリは .NET 3.5 で実行されます。それ以外の場合、アプリは .NET 4.5 で実行されます。 構成ファイルの追加セクションの例を次に示します。

<configuration>
   <startup>
      <supportedRuntime version="v2.0.50727"/>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
   </startup>
</configuration>

エンタープライズ OEM の場合:

EEAP ビルドと、Windows Updateにアクセスできないアプリケーションに対して、.NET Framework 3.5 を有効にするには、次の手順を実行します。

  1. マウントされた OS ビルド ISO イメージから dotnet35 または同様のフォルダーに \sources\sxs\ をコピーします。 次に例を示します。

    xcopy e:\sources\sxs\*.* c:\dotnet35 /s
    
  2. regkey を設定します。

    [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing]
     LocalSourcePath = c:\dotnet35
    

企業の場合:

WSUS をサービスに使用するように構成されているマシンの場合は、WSUS ではなく .NET 3.5 を有効にするためにWindows Updateを使用できるようにレジストリ エントリを設定できます (これを行う場合は、WSUS からサービスが引き続き実行されます)。

  • regkey を設定します。
    [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Servicing]  RepairContentServerSource =DWORD(2)
    

このレジストリ エントリは、グループ ポリシー (ローカル コンピューター ポリシー - コンピューターの構成 -> 管理用テンプレート ->> システム) を使用して設定することもできます。 [オプションのコンポーネントのインストールとコンポーネントの修復の設定を指定する] 設定を選択します。

Windows Server Update Services (WSUS) の代わりに修復コンテンツを直接ダウンロードするために [連絡先Windows Update] を選択した場合、Windows機能 (たとえば、.NET Framework 3.5) または修復機能を追加しようとすると、Windows Update。 ターゲット コンピューターでは、このオプションにインターネットと WU アクセスが必要です。 通常のサービス操作では、WSUS がソースとして構成されている場合、引き続き WSUS を使用します。

レジストリ エントリを使用したローカル ソースの場所の設定に関する注意事項

IT 管理者は、レジストリ エントリを使用して .NET 3.5 ファイルのローカル ソースの場所を設定できるため、ユーザーは [Windows機能の追加と削除] ダイアログを使用して、ソースの場所を指定しなくてもペイロードが不足している機能を有効にすることができます。 レジストリ エントリの値は、グループ ポリシーを使用して制御できます。

このレジストリ エントリはサポートされています。

入力 Type 説明
ローカル ソース パス REG_EXPAND_SZ 既定で使用されるローカル ソース パス。 複数のパスを指定できます。これらは、 ; で区切る必要があります。 場所は、指定された順序で検索されます。
DISM コマンド ラインで指定されたローカル ソースの場所は、このレジストリ エントリで指定された場所よりも優先されます。 フォルダーの場所は、このレジストリ エントリで指定できます。
VM は使用できますが、WIM ファイルへのパスを指定する必要があります。たとえば、マウントする必要はありません。
wim:\\machine\share\file.wim:1
最後に 1 があることに注意してください。 WIM ファイルで使用するイメージの数値インデックスを指定する必要があります。
マウントされた WIM の場合、ソース パスはマウント ポイントではなく、マウントされたイメージの windows ディレクトリを参照する必要があります (たとえば、/source:mount_point ではなく /source:<<>mount_point>\windows)。

リソース

レジストリ ベースのポリシーの実装