Windows 10 に .NET Framework 3.5 をインストールする
.NET Framework 3.5 をインストールしたい場合は [コントロール パネル] - [プログラム] - [Windows の機能の有効化または無効化] で [.NET Framework 3.5 (.NET 2.0 および 3.0 を含む)] にチェックを入れて [OK] をクリックすればインストールすることができますわね。この時の実際のインストールは Windows Update 経由で行われるらしいよ。(よくわからんし、調べるつもりもないけれど)
0x800F081F とか 0x800F0906 とかのエラーでインストールできないよ
がしかしタイトルにもある通り 0x800F081F のエラーが出てインストールすることができない場合があるっていう。Windows Live メールも .NET Framework 3.5 が必須。 実に困った状態。(今時 Windows Live メール使うなって話もあるが)
0x800F081F ってのは 「ソースが見つからない」 っていうエラーらしいです。 (よくわからんし、調べるつもりもないけれど)
0x800F0906 が出た
会社でよく発生しそうなエラー。PC が .NET Framework 3.5 に必要なファイルを Windows Update からダウンロードできない場合に発生するらしいよ。
PC が社外と通信するための設定が不完全 (ファイアウォールとかプロキシとか) だったり、WSUS がしゃしゃり出てくるようになっていたり。
もし一時的に WSUS を経由しないで直接 Windows Update サーバーと通信できるように環境を変えられるのなら問題ないらしい。
ということなので、GPO で 「WSUS を使わない」 というポリシーをリンクさせた作業用の OU を作成し、作業中の PC をその OU に入れて再チャレンジしてみた。
今度は 0x800F081F が出た
先ほどまでのエラーと似たエラー番号なので変化に気づきづらかったよ。KB2734782 によれば 「代替インストール ソースに指定した場所に必要なものがない、またはそれを読み取る権限がない、または壊れている」 ということらしいが、そんなもんを指定した記憶はない。
ただ単純に Windows の機能から .NET Framework 3.5 を有効にしようとしただけだもの。
OS のメディアを使って手っ取り早くインストールした
うちの場合は 0x800F081F だったので Windows 10 のメディアを使って解決した。メディアは Microsoft からダウンロードした Windows 10 インストール イメージを焼いておいたもの。
こいつを使って .NET Framework 3.5 をインストールできるらしい。 iso を直接マウントしても大丈夫っぽい。
PowerShell を管理者権限で起動して下記のコマンドを打つ。
Enable-WindowsOptionalFeature -Online -FeatureName NetFx3 -All -Source "D:\x64\sources\sxs" -LimitAccessこの場合 Windos 10 のメディアが D: ドライブにあるってことで、Source オプションで sxs フォルダーの位置を指定してあげる。
同様のことは Dism っていうコマンドでも可能らしい。 (よくわからんし、調べるつもりもないけれど)
さらには Fondue というコマンドもあるらしい。 (よくわからんし、以下同文)
TechNet ブログ Windows 8 に .NET Framework 3.5 をインストールする、もう1つの方法 Fondue に一通り書いてある。
KB2966828 (MS14-046) が原因になることがあるらしい
KB2966828 (MS14-046) は .NET Framework のセキュリティ修正プログラムのひとつで、Address Space Layout Randomization (ASLR) というセキュリティ機能を迂回されてしまう脆弱性を修正するらしい。ASLR ってのはプロセスをロードする場所をランダムな場所にする仕組みらしい。 ランダムな場所にロードすることで、攻撃者が攻撃しづらくするらしい。 (よくわからんし、調べるつもりもないけれど)
ASLR の仕組みを簡単に説明すれと 「毎回同じフロアのトイレの同じ個室で仕事をさぼっているとバレてしまうので都度ランダムな個室を選択する」 ということだね。
この KB2966828 は PC に .NET Framework 3.5 がインストールされていることを前提としているらしいので、KB2966828 をインストールした後に初めて .NET Framework 3.5 を有効にしようとするとエラーになるようですね。
例えば 「社内で PC をセットアップする際に Windows Update でガンガン攻めて、最後に Windows Live メールをインストールしようとして .NET Framework 3.5 を有効化しようとしたらエラー」 とか。
で、Windows 8.1 以前や Server 2012 R2 以前の Windows にはさらなる修正プログラム KB305628 が用意されているので、修正プログラムを適用すれば問題が解決するらしい。
Windows 10 用の修正プログラムは用意されていないようだ。。。
Web をさまよってみると 「Windows 10 ではコマンド プロンプトからの Dism コマンドや、PowerShell の Enable-WindowsOptionalFeature コマンドレットでならインストールできた」 という情報もあるし、一時的に KB2966828 をアンインストールしたって話もある。
まぁいろいろ選択肢があるってことですかね。
コメント
コメント一覧 (2)
(社内PC環境でwindowsupdate経由も上手く行かず往生しておりました)
有難うございました。
おめでとうございました。