プレビュー版のPowerShell 7がMicrosoft Storeで入手可能になりました

2020.09.08

しばたです。
少し前の話なのですがMicrosoft Storeからプレビュー版のPowerShell 7(本日時点でPowerShell 7.1.0-preview.6)が入手可能になっています。

Appxパッケージ、MSIXパッケージからMicrosoft Store公開まで

あまり知られていない話ですがPowerShell Core 6の開発初期ではAppx版のPowerShellを提供しようとしていました。
ただ当時Appxでは正しく動作しなかった様で採用は見送られています。

その後PowerShell 7の開発に際し、PowerShell 7 preview-1からAppxのスーパーセットであるMSIXパッケージへのビルド機能が追加され、プレビュー版のPowerShellのみMSIX形式のパッケージが提供される様になりました。
(通常リリース版のPowerShellではMSIX形式のパッケージは提供されていません)

ここまでの流れを踏まえてMicrosoft Storeでプレビュー版のPowerShell 7が公開されるに至っています。

Microsoft StoreでPowerShellを公開する意図

Microsoft Storeでプレビュー版のPowerShellを公開するに至るまでには長い歴史的経緯があったわけですが、その意図については一切表明されていません。
なので正確なことを断言することはできないのですが、私がGitHubのIssue等を見る限りでは以下の要素がある様に感じられました。

インストール方法の拡充

PowerShell Core 6の登場以来、PowerShell TeamはPowerShellの普及のために多くのパッケージ形式のサポートを試みています。

例えばLinux向けに.rpm.debといったメジャーなパッケージ以外にもSnapパッケージやAppImage(現在は提供中止)といった形式もコミュニティからの要請ベースで対応してきた歴史があります。

Microsoft Store版のPowerShell 7もこの方針の一環として提供している様に見受けられました。

コミュニティからの要請

私はあまり認識していなかったのですが、Microsoft Store版のPowerShellを望むコミュニティからの要請もそれなりにあった様で、GitHubの以下のIssueに要望がまとめられて議論されていた様です。

正式版のPowerShell 7はMicrosoft Storeで提供されるのか?

最初に述べた通りMicrosoft Storeから入手できるのは プレビュー版 のPowerShell 7であり正式版ではありません。
正式版のPowerShell 7がMicrosoft Storeから提供されるのかという点についてはこちらもPowerShell Teamからの正式な表明は一切無いため不明です。

ただ、現状を考えると私としては正式版のPowerShell 7をMicrosoft Storeから提供することは不可能だと見ています。

OS組み込みの問題

PowerShell 7は既存のWindows PowerShellを置き換えることを最終目標としています。
どの様に置き換えるかについてはまだ表明されていませんが、互換性を考えるとWindows PowerShellの様にOSの機能として組み込まれた形になるのが順当かつ妥当だと私は考えています。

このため不用意に正式版のPowerShell 7をMicrosoft Storeから提供出来ないと見ています。

バージョンコントロール問題 (アプリケーションの自動更新)

Microsoft Storeのアプリケーションは基本的に自動更新を有効にして扱うことが多いかと思います。
プレビュー版のPowerShellであれば随時最新バージョンを試すことができるこの仕様は非常に便利ですが、正式版となると厳密なバージョンコントロールができない点はデメリットの方が大きいでしょう。

設定でMicorosft Storeアプリケーション全体に対し自動更新をオフにすることは可能ですが、現時点では個別設定ができないのも難しいポイントです。

Microsoft Store版PowerShellとの付き合い方

前節で色々述べましたが、最終的にMicrosoft Store版のPowerShellがどの様な形で提供されることになるのかは結局はわかりません。
現在提供されているMicrosoft Store版のPowerShellについては、

  • Microsoft Storeからお手軽に新しいPowerShellを試してみたい
  • PowerShellの最新機能を気軽に試してみたい

といった用途で使うのが良いでしょう。

試してみた

かなり前置きが長くなってしまいましたが、ここから実際に試してみます。

はじめにMicrosoft Storeを起動して「powershell」で検索をすると「PowerShell Preview」というアプリが表示されるのでこれを選びます。

アプリケーションの詳細はこんな感じです。
「入手」ボタンをクリックしてあとは画面の指示に従ってアプリケーションをインストールしてください。

ちなみにインストール要件は以下となっています。

インストールを完了させてアプリケーションを起動すると、

こんな感じでPowerShellコンソールが起動します。

通常のMSIインストーラーでインストールしたものに比べて

  • ウィンドウタイトルがフルパスの名称になっている
  • 起動時のロケーションが System32 フォルダになっている

といった違いがありますがそれ以外は通常のPowerShell 7です。

ウィンドウタイトルを見ればわかりますが、Microsoft StoreアプリケーションはC:\Program Files\WindowsApps隠しフォルダ配下にインストールされます。
このため各プロファイルのパスを確認すると以下の様な感じになります。

C:\Program Files\WindowsApps隠しフォルダ配下は基本書き込み不可のためプロファイルのうちAllUsersAllHostsAllUsersCurrentHostの2つは事実上利用することができません。
CurrentUserAllHostsCurrentUserCurrentHostを使う様にしてください。

また、アプリケーションの設定を確認すると以下の様な感じでMicrosoft Store版PowerShell固有のものはありませんでした。

最後に

以上となります。
公開の意図が表明されてないため利用用途がわかりにくい現状ですが、PowerShellの最新機能を気軽に試して頂くにはちょうど良いと思いますのでぜひ利用してみてください。