Windows Info 第295回
Androidアプリの提供だけではないWindows 11のMicrosoftストアの進化点 MSIやEXEインストーラーにも対応
2021年10月03日 10時00分更新
Windows 11ではMicrosoftストアが大きく変わる。Windows 11の発表で話題になったAndroidアプリの動作、AmazonによるAndroidアプリストアなんかもその一環なのだが、最大の変更点は、MSIやEXEインストーラー(EXEファイルを実行することでインストールされるもの)のアプリケーションを配布できるようになる点だ。
これまでのMicrosoftストアは、ほぼUWPストアだったといってもよい。デスクトップアプリも変換してパッケージ化すれば配布可能ではあったが、制限がキツく、どんなアプリでも対応できるわけではなかった。
このため、多くのオープンソースアプリケーションは、従来どおりにウェブサイトからWindows版を配布するのが一般的だった。Linuxなど他のプラットフォームでは、パッケージマネージャー経由が主流であるため、こうした形でアプリをダウンロードさせるのは、Windows版など限られたプラットフォームだけだ。
それが、Windows 11のMicrosoftストアでは、とうとうMSIやEXEインストーラーを使うWin32アプリケーションまで配布可能になる。また、Microsoftの発表によれば、PWA(Prograssive Web Application)にも対応するという。
こうした進化はどこかで見たような気がする
この新しいMicrosoftストアの話、なにか“既視感”がある。Android、ウェブサイトのアプリ化、そしてWin32アプリ、これはほぼWindows Bridgeの再来である。Windows Bridgeとは、MicrosoftがWindows 10のリリース時に発表した構想だが、ハッキリ言って、そのほとんどが失敗して放棄された構想でもある。いや、放棄されずに裏でずっと話が進んでいた潜水艦のようなプロジェクトだったのか……。
このWindows Bridgeについては、以前この連載でもちょっと触れた。
●あらためて「.NET」について整理する
https://ascii.jp/elem/000/004/051/4051022/
Windows Bridgeは、以下の4つのプロジェクトから構成されていた。
・Project Astoria:Windows Bridge for Android
・Project Centennial:Windows Bridge for Classic Windows アプリ
・Project Islandwood Windows Bridge for iOS
・Project Westminster Windows Bridge for Web アプリ
それぞれ、他のプラットフォームで動作しているアプリなどをWindows 10上で動かすためのプロジェクトである。しかし、Project AstriaとProject Islandwoodは、早々に中止が決まった。発表当時でちゃんと動いていたのは、Project Westminsterだけ。これは、Manifold.jsというnode.jsベースのオープンソースプロジェクトがあり、これでウェブアプリをMicrosoftストア(当時はまだWindowsストアだったが)で配布可能なUWPアプリに変換できた。
Project Centennialは、実際にDesktop App Converterというプログラムが作られたが、その後、MSIX Packaging Toolが登場して置き換わった。これが現在、デスクトップアプリをMicrosoftストアで配布するための標準的な方法になっている。
ただし、従来のWin32デスクトップアプリから見ると、制限が大きく、MSIXパッケージ化できないソフトウェアも少なくない。実際、Visual StudioなどMicrosoft自身のソフトウェアもWindows 10のMicrosoftストアでは配布できていない。Windows 11のMicrosoftストアはこの部分が改良される。現在のEXEインストーラーのまま、Microsoftストアで配布が可能になるのだ。
セキュリティ上の制限が強かったデスクトップアプリの変換
Windows 11をセキュアなPCでの動作に限定したことで緩和か
Windowsストア/Microsoftストアが従来のWin32/Desktopアプリを対象にしなかったのにはいくつか理由がある。1つはセキュリティ、そして有償ソフトウェアの不正コピー対策だ。Windowsストアでは、特殊な実行形式を使い、Windowsだけがこれをメモリに読み込んで起動できるようにした。このとき、アプリ自体をチェックし、不正に書き換えられていないか、不正コピーではないかなどを検査する。UWPもこれを受け継いでいる。
MSIXによるWin32/Desktopアプリの実行は、現在では「MSIXコンテナー」と呼ばれるコンテナー内で実行することにより、ファイルへの不正アクセスなどをある程度防ぐようになっている。このために、実行パッケージにはキツい制限が生じる。
Windows 11で、MSIやEXEインストーラーを使うアプリの配布が可能になるというのは、こうした問題を解決したということを意味する。Windows 11で古いCPUを切り捨て、仮想マシンを使ったセキュリティや一定のセキュリティ要件を満たしたハードウェアを前提にしたことで、対応が可能と判断したのであろう。これにより、Windows 7までのWindowsアプリケーションの開発方法に従って作られた多くのアプリケーションがMicrosoftストアで配布可能になる。ここに、Project Centennialが完成したというわけだ。
また、Windows 11のMicrosoftストアでは、「PWA」こと「Progressive Web App」も配布できるというのが特徴として述べられている。結果的にWindowsのプログラムになるのであれば、なにもPWAを強く推す必要はないのだが、Microsoftは、「PWA Builder」によりウェブサイトをアプリに変換してPWAとしてMicrosoftストアで流通可能だと主張している。
これにはウラがある。このPWA Builderは、かつてProject Westminster用に作られたManifold.jsが名前を変えたものだからだ。つまり、Project Westminsterは生き残っていて、PWAと名前を変えただけなのだ。
この連載の記事
-
第436回
PC
Copilot+PCとともにWindowsのデバイス間連携に大きな変化!? Project ROMEの逆襲? -
第435回
PC
Windows Terminal Preview v1.21では、前回終了時のタブとその表示内容を復元できるように -
第434回
PC
AIの急速な導入がWindowsの予定を変えた!? Windows 12がすぐには出ない可能性 -
第433回
PC
Windows 11の2つのウィジェットを調べる -
第432回
PC
ウェブブラウザが切り開いたWindowsでのタブアプリケーション -
第431回
PC
Windows上でユニコードを「見る」方法 -
第430回
PC
WindowsからWordPadが廃止! RTF(Rich Text Format)はどうなる? -
第429回
PC
Windows Updateの「利用可能になったらすぐに最新の更新プログラムを入手する」はオンにした方がいいか? -
第428回
PC
Google/Bingで使える検索オプション -
第427回
PC
WindowsのPowerShellのプロファイルを設定する -
第426回
PC
WindowsでAndroidスマホをWebカメラにする機能を試した - この連載の一覧へ