Azure PowerShell をインストールする際、PowerShellGet を用いた方法と MSI インストーラーを用いた方法の 2 種類があります。
PowerShellGet を用いた方法に切り替えてからは、MSI インストーラーを用いた方法でのインストールは行っていなかったのですが、久しぶりにやってみたら以下のエラーが表示されうまくいきませんでした。
以下の MS サイトに記載がある前提条件 (Windows PowerShell 5.1 以降および .Net Framework 4.7.2 以降) を満たしている Windows 10/Windows Server 2019 でもインストールが失敗している状況でした。
エラーの発生状況を確認しようとしても、イベント ログなどからは特に詳細な情報が記載されていない状態。
仕方がないので、Web 上から情報があるかどうかを確認したところ、合致していたものがあったため、原因と対処方法についてまとめてみました。
原因について
MSI インストーラーを用いてインストールする際、前提条件に記載されている内容以外にも必要なコンポーネント (.Net Framework 3.5 以降) が不足していたために発生した事象となります。
GitHub でも同様の現象について、報告が行われていました。
- Setup: Az installed (msi) failing a check for .Net framework on machine with .Net 4.7.2 · Issue #11542 · Azure/azure-powershell
https://github.com/Azure/azure-powershell/issues/11542 - Setup: Cannot install by MSI installer without .NET Framework 3.5 · Issue #9402 · Azure/azure-powershell
https://github.com/Azure/azure-powershell/issues/9402
対処方法について
対処方法としては、以下の 2 つとなります。
- .Net Framework 3.5 の機能を有効化する
- 最新の Azure PowerShell の MSI インストーラーを使用する
.Net Framework 3.5 の機能を有効化する
.Net Framework 3.5 の機能を有効化することで、対処することが可能です。
- クライアント OS (Windows 10 で確認) の場合
- サーバー OS (Windows Server 2019) の場合
最新の Azure PowerShell の MSI インストーラーを使用する
Github に報告されていた内容について、既に対応済みとなっており、Azure PowerShell v4.6.0 の MSI インストーラーからは .NET Framework 3.5 の機能を有効化していなくとも、前提条件を満たしていればインストールすることが可能となっています。
- Support installer on .NET Framework 4.x by dingmeng-xue · Pull Request #12650 · Azure/azure-powershell
https://github.com/Azure/azure-powershell/pull/12650
MSI インストーラーは、以下のサイトから各バージョンを確認、入手することが可能です。
- Releases · Azure/azure-powershell
https://github.com/Azure/azure-powershell/releases