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と名前を変えただけなのだ。
この連載の記事
-
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 -
第447回
PC
この秋登場のWindows 11の新バージョン、Ver.24H2の状況を見る -
第446回
PC
Windows 11のフォトアプリがUWPからWin32アプリになったことで今更わかるUWPの問題点 - この連載の一覧へ