.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 を有効にすると、見つからないファイルの代替ソースが指定されていない限り失敗します。

対応策

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

  1. マウントされたオペレーティング システム ビルド ISO イメージから 、\sources\sxs\ を dotnet35 または同様のフォルダーにコピーします。 たとえば次のような点です。

    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 が引き続き使用されます。

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

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

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

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

リソース

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