web-dev-qa-db-ja.com

DISMを使用して.NET3.5をWindows8.1に追加することはできません

Windows 8 PCで正常に機能する同じコマンドラインは、Windows 8.1PCでは機能しません。

DISM.exe /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:C:\Users\Admin\Desktop\sxs

Sxsフォルダーをコピーした場所です。

しかし、 Microsoft によると、8と8.1の両方で動作するはずです。プログレスバーは65.8%で停止し、エラーは0x800f0081fです。

ソースファイルが見つかりませんでした。

しかし、それは間違いなくその場所にあります-コピーしてアドレスバーに貼り付けると、そこにあります。 .NETプログラムのオフラインインストールをサポートするには、この方法で.NET 3.5をインストールする必要があるため、[コントロールパネル]-[Windowsの機能]の方法は選択できません。

ログ を分析できるようにしました。 DISM.logに次の行があるため、Windows8.1のDISMは/ featurename:NetFx3オプションを理解していないようです。

Encountered an unknown option "featurename" with value "NetFx3" - CPackageManagerCLIHandler::Private_GetPackagesFromCommandLine
5
Martin

SXSフォルダー内のファイルは、そのバージョンのWindowsに適したファイルである必要があります。 PCが8.1にアップグレードされている場合、8.0ディスクのSXSフォルダーでは機能しません。その場合は、8.1ディスクのSXSフォルダーが必要です。ドキュメントのどこにもこれが明確にされていることはわかりませんでした。「ソースファイルが見つかりませんでした」というエラーメッセージは、せいぜい誤解を招くものです。ただし、Windows 8.0のSXSフォルダー内のファイルにはそのようなファイル名がないため、手がかりは(以下の情報を既に知っている場合)、6.3.9600という名前のファイルに関するメッセージが表示されるCBSログにあります。

SXSフォルダーがWindows 8.0用か8.1用かを判断する方法

Windows 8.0のSXSフォルダー内のほとんどすべてのフォルダーには、フォルダー名に文字列「6.2.9200」が含まれています。 Windows 8.1のSXSフォルダー内のほとんどすべてのフォルダーには、フォルダー名に文字列「6.3.9600」が含まれています。一方のバージョンの文字列がもう一方のバージョンのフォルダ名に含まれている場合はありません。

1
Martin

KB2966828をアンインストールすると、修正されました。

引数を移動するだけです/limitaccess以下に示すように、または削除します。

DISM.exe /Online /Enable-Feature /FeatureName:NetFx3 /All /Source:C:\Users\Admin\Desktop\sxs /LimitAccess 
0
Bobski

これは古い投稿ですが、今週この問題に取り組んでいます。 SCCMオフラインサービスまたは事前構成されたWIMを使用し、イメージに次のKBが含まれている場合:

KB2966826

KB2966826

KB2966826

何をしてもインストールは失敗します。これらは、3.5がマシンにインストールされているかどうかに関係なくインストールされる.NET3.5セキュリティ更新プログラムです。それらが存在する場合、オフラインインストールを防ぎます。

0
mhouston100