日本語化した Azure VM で .NET Framework 3.5 のインストールに失敗する


タイトルの通りですが、Azure VM をテンプレートの英語版で作成したのち、日本語化した環境で .NET Framework 3.5 等のインストールに失敗することがあります。

1 つ以上の役割、役割サービス、または機能のインストールに失敗しました。
ソース ファイルが見つかりませんでした。役割と機能の追加ウィザードの新しいセッションで役割、役割サービス、または機能のインストールを再実行し、ウィザードの [確認] ページで [大体ソース パスの指定] をクリックして、インストールに必要なソース ファイルの有効な場所を指定してください。指定する場所は、インストール先サーバーのコンピューター アカウントによってアクセスできる必要があります。

installfailed

通常、インターネットに接続できる環境であれば、必要なモジュールは適宜ダウンロードされるので、上記のエラーは発生しないと思います。ただ、外部接続を NSG や Firewall で制限している場合、ExpressRoute の構成をしていたりする場合には、ダウンロードできず上記のエラーになることがあります。

ここでエラーにも書いてある通り、代替ソース パスを指定してインストールしようとするのですが、これもエラーで失敗します。(SxS は適当に Windows Server の ISO をダウンロードしてきて、Source フォルダ内の SxS をコピーします。)

sxs

installfailed

明示的にインストール ファイルを指定しても失敗するのは何故かというと、英語 OS を日本語化しているからです。つまり、.NET Framework 3.5 の日本語・英語の両モジュールがないとインストールができません。

日本語の ISO と英語の ISO をそれぞれ用意して、両方の SxS フォルダーを統合し、代替ソース パスとして指定することで、以下の通り無事にインストールが完了します。

installsuccessfully

Azure というより、Windows OS のお作法的な話なので、知らないと意外にハマります。

元々日本語の OS を使えば問題ないですし、インターネットにつながればダウンロードしてくれるので、めったに遭遇することはありませんが、似た症状に遭遇したら試してみてください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください