Windows 2012 R2に.Net 3.5をインストールする


13

したがって、Windows 2012 R2 Serverに.net 3.5をインストールしようとしています。機能の追加とDISMの両方で失敗しました。

機能の追加GUIを使用して「代替パスの指定」を使用すると、「1つ以上の役割、役割サービス、または機能のインストールに失敗しました」というエラーで失敗します

高架PowerShellを介してDISMを使用しようとすると、次のコマンドを使用します。

dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs 

これは失敗します

エラー:0x800f0906ソースファイルをダウンロードできませんでした。「ソース」オプションを使用して、機能の復元に必要なファイルの場所を指定します。ソースの場所の指定の詳細については、http://go.microsoft.com/fwlink/?LinkId = 243077を参照して ください。

DISMログファイルは、C:\ Windows \ Logs \ DISM \ dism.logにあります。

上記のKB(243077)に従って、SXSフォルダーのグループポリシーの場所を設定しました。再起動しても同じエラーが発生します。DSIMログには以下が表示されます

コマンドenable-featureの処理中に失敗しました。-CPackageManagerCLIHandler :: ExecuteCmdLine(hr:0x800f0906)

簡単なグーグルは、多くの人がこれに問題を抱えていること、そして このサーバーがインストールされていないKB2966826とKB2966828をアンインストールする必要があることを示しています。

オフラインの.Netインストーラーも試してみましたが、Windowsの機能を使用して追加する必要があります。すべてのコマンドは、管理者として、昇格したプロンプトを介して実行されています。

これを書いている間、私は「類似の質問」に気づき、この「Unable to install .net 3.5 on Windows server 2012」に注目しました。

ランニング

dism.exe /online /enable-feature /featurename:NetFX3 /all

上記と同じエラーを生成しました。


誰かがこのサーバーを既に管理している場合、OSからバイナリを削除することでその機能を削除する可能性があります。2012では、インストールする予定のないロールの不要なファイルを削除できるようになりました。そのため、セットアップファイルへの代替パスの入力を求められます。コマンドに対してPowerShellルックアップを実行すると、その代替パスを指定する方法がわかります。
ジョン

KB2919355(Update 1)がインストールされている場合は、KB2919355が統合されたソースファイルを使用する必要があります。それが私のために働いた唯一の方法です。
ピーターハーンドルフ

追加のMUIパッケージをインストールしましたか?
magicandre1981

@ magicandre1981 MUIなし、これはWindowsの新規インストールです。サーバーごとに1つのアプリ(仮想)で動作します。ご提案をお試しします。
ザプト

WSUSを使用していますか?グループポリシーには、WSUSでこれらのファイルを検索しないように設定できるグループポリシーの設定があります。これは、これがインストールソースにならないためです。
-briantist

回答:


13

Windows 8.1およびServer 2012 R2に.NET Framework 3.5をインストールするために使用するコマンドは次のとおりです。

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs

D:\はマウントされたISOまたはDVDドライブです。あなたとの唯一の違いは/ LimitAccessですが、これは重要な部分であり、Windows UpdateまたはWSUSへの接続を試みることができないためです。何らかの理由で、Windows 8 / 8.1およびServer 2012 / 2012R2上の.NET Framework 3.5では、この側面(Windows Updateに連絡)が完全に壊れており、常に失敗します。

参照:http : //blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx



sxsフォルダー内でcabファイルを探している人は、androidfilehost.com/?fid=745425885120760819からダウンロードできます。また、回答の情報リンクがアーカイブされ、リンクdocs.microsoft.com/en-us/archive/blogs/askcore/…で見つけることができます。
サム

6

Windowsインストールディスクをマウントするとき、または物理DVDを使用するときに同じ問題が発生しましたが、ここで修正しました。

  1. ルートの下にフォルダーを作成します(C:\ NetFx3など)
  2. コピーmicrosoft-windows-netfx3-ondemand-package.cabを Windowsのインストールディスクからの\ Sources \ SXSをCに:\ NetFx3フォルダ
  3. 管理者としてのコマンドプロンプト
  4. DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
  5. テキストの進行状況バーは、完了すると100%になり、「操作が正常に完了しました」というメッセージが表示されます。

なんらかの理由で、私の光学ドライブはディスク上のファイルを表示しますが、DISMはそれを気にしませんが、ファイルをC:にコピーすることはうまくいったようです。


2

私にとっての解決策は、これらの答えの組み合わせでした。私はWindows Server 2012 R2を搭載したマシンにいました。

OSのISOが手元にないという事実を回避しようとしました。しかし、それを機能させることができませんでした。そのため、Windows Server 2012 R2のISOを見つけることを余儀なくされました。

1.)ローカルグループポリシーエディターまたはグループポリシー管理コンソールを起動します(WIN + Rおよびgpedit.mscと入力)。

2.)[コンピューターの構成]、[管理用テンプレート]の順に展開し、[システム]を選択します。

3.)[オプションのコンポーネントインストールおよびコンポーネント修復グループポリシーの設定を指定する]設定を開き、[有効]を選択します。

4.)「Windows Server Update Services(WSUS)の代わりにWindows Updateに直接連絡して修復コンテンツをダウンロードする」チェックボックスを選択します。[適用]、[OK]の順にクリックします。

wsus設定

5.)OSのISOをダウンロードし、イメージをマウントします。ここからダウンロードしました:https : //www.technig.com/download-windows-server-2012-r2-essentials-iso-file/

*注:3Gbファイルです。

6.)昇格されたPowershellを開き、次を実行します。

DISM / Online / Enable-Feature / FeatureName:NetFx3 / All / LimitAccess / Source:E:\ sources \ sxs

*注意:この場合、ISOは「E:\ドライブ」にマウントされています。

PowershellでNet 3.5をインストールする

*このスレッドは命の恩人でした。すべての貢献者、特に@Joshua McKinnonに感謝します!


これは、私のシナリオでも抱えていた問題のようです。グループポリシーの変更は大成功でした!価値があるかどうかはわかりませんが、グループポリシーをインストール完了後の状態に戻しました。
ムース氏

1

上記の方法はどれもうまくいきませんでした。WSUSサーバーが構成されていることがわかりました。私がそれをインストールできる唯一の方法は

1)Regedit

2)コンピューター-> HKEY_LOCAL_MACHINE->ソフトウェア->ポリシー-> Microsoft-> Windows-> WindowsUpdate

3)2つのキーの値を書き留めます:WUServerおよびWUStatusServer

4)これらのキーの削除/名前変更

5)WindowsUpdateの停止と開始

6).Net3.5機能を追加

7)キーを戻し、WindowsUpdateを再起動します。

私はそれが役立つことを願っています


1
レジストリキーを削除するのではなく、名前を変更できることに注意してください。
マシューウェットモア

いい視点ね!クリアしようとしましたが、うまくいきませんでした。あなたの提案に追加されました
フォーマイカ

0

DISMコマンドが/ Sourceスイッチで指定されたメディアをスキップしてオンラインでファイルを検索する場合、指定されたメディアのソースファイルが破損しているか、サーバーに適用できない(バージョンの不一致)ことを意味します。

エラーコード0x800f0906は、Microsoftによって文書化されているように、この動作をさらに証明しています:https : //technet.microsoft.com/en-us/library/dn482067.aspx

あなたの最善の策は、この問題の解決を支援することです:

  1. 使用しているメディアを変更し、可能であれば再ダウンロードします。
  2. さまざまな方法でメディアを提示します。VMの場合、ISOをマウントします。物理的な場合は、DVDに書き込みます。両方のファイルの場合は、ローカルディスクにコピーします。それが失敗した場合は、共有フォルダーを試してください。
  3. 上記のすべてが失敗した場合は、WSUSを使用していると読み、共有フォルダーにコピーされたsxsフォルダーがある「更新元」の場所でWSUSを構成してみてください。ネットワーク内のサーバーはそのフォルダーをソースとして使用しますWindowsコンポーネントのインストール用:https ://technet.microsoft.com/en-us/library/dn482065.aspx
  4. 何らかの理由でWSUSの使用がオプションではない場合、サーバーからGPOを削除し、「gpupdate / sync / force」を実行して設定がキャッシュされないことを確認します。完了したら、コマンド「DISM / Online / Enable-Feature / FeatureName:NetFx3 / All "

上記のすべてが失敗した場合、DISMサービスログを提供してさらにトラブルシューティングを行うことを強くお勧めしますが、この段階では、サーバーの完全な再構築をさらに行うことをお勧めします。


これはほぼ正しいです。手順4でGPO設定を削除するだけで(つまり、 "未構成"に設定すると)、手順2の状態に戻ります。ポリシーを有効に設定し、[Windows Updateに直接連絡して修復をダウンロードする]チェックボックスをオンにしますWindows Server Update Services(WSUS)の代わりにコンテンツ」を使用すると、インターネットからDISMコマンドを取得できます。/ Onlineスイッチは「インターネットから取得する」という意味ではなく、「実行中の(またはオンラインの)コンピューターにサービスを提供する」という意味です。#documentation
オーストラリアの

うん、最後の手段としてインターネットを使用して更新を行いました。インターネットからダウンロードせずに、LAN内の任意のローカルリソースを使用してインストールを高速化できるようにしたかったのです。DISM swtichesについても知っています。/Onlineは「現在実行中のオペレーティングシステムでアクションを実行することを指定する」という意味ですtechnet.microsoft.com/en-us/library/hh825079.aspx
Noor Khaldi

わかりましたが、Windows Update用に定義されたイントラネットの場所(WSUSサーバーなど)がある場合、コマンドはインターネットをチェックしません。手順3でGPOを有効にしていて、Windows Server Update Services(WSUS)を有効にする代わりにWindows Updateに直接連絡して修復コンテンツをダウンロードするように設定しない限り、そこをチェックします
オーストラリアの

0

DISMコマンドは、ソース「オンライン」をチェックしているため、必要なリソースを見つけられません。更新ソースがWindows Updateサービスに指定されている場合、Windows 6.2+は(デフォルトで)コンポーネントのインストール/修復の更新ソースサーバーのみをチェックします。

更新ソース(通常はWSUS)サーバーをコンポーネントの修復/インストールのソースとして設定したくない場合は、次のグループポリシーを有効にできます。

コンピューターの構成\管理用テンプレート\システム

オプションのコンポーネントのインストールとコンポーネントの修復の設定を指定する

このオプションを必ず確認してください。

Windows Server Update Services(WSUS)ではなく、Windows Updateに直接連絡して修復コンテンツをダウンロードします


0

SourcesメディアがWindowsのバージョンと完全に一致していることを確認してください。

Server 2012 ISOを使用して.NET35をServer 2012 R2にインストールしようとして半日費やしました。ソースが正しいと、(この回答からの)DISMコマンドは問題なく動作します。


0

私はまったく同じ問題を抱えています。私の解決策は、Active Directoryからサーバーを削除し、.Net 3.5をインストールしてから、ADに追加し直すことでした。何らかの層でWSUSに関係していると確信していますが、それで解決しました。ドメインに追加する前に、すべてのサーバーに3.5をインストールするだけです。



0

これについてはインターネット上にたくさんのものがあり、そのほとんどはここの回答にまとめられています。すべて試してみましたが、どれも機能しませんでした。sxsフォルダーのさまざまなコピーを指す場合でも、「ソースファイルが見つかりません」エラーのバリエーションが発生します。

最終的に、 .net 3.5(c:\ windows \ winsxs)がインストールされた、完全にパッチが適用された別のサーバー上のwinsxsフォルダーの共有をポイントし、機能しました:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:\\otherserver\winsxs

私の理論では、インストールプロセスはサーバー上の現在のKBに一致するソースファイルを探していたということです。2つの特定のKBの削除を示す他の記事があることは知っていますが、それらはインストールされているパッチのリストに表示されませんでした。

また、この共有では機能の追加/削除が機能しないことに注意してください。DISMを使用する必要がありました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.