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ファイルを実行することでインストールされるもの)のアプリケーションを配布できるようになる点だ。

Windows 11ではMicrosoftストアが変わる。とはいえ「ベストセールスアプリ」がMicrosoftのWindows DVDプレーヤーというのが、現在のMicrosoftストアの位置を示している
これまでの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と名前を変えただけなのだ。

この連載の記事
- 第365回 Windowsで作成した仮想ハードディスクを容量を拡大する
- 第364回 Windowsで仮想ハードディスクを作る&使う
- 第363回 Windowsのタスクスケジューラーをもっと使いこなす
- 第362回 WSL(Windows Subsystem for Linux)がMicrosoftストア版に一本化される
- 第361回 2023年のWindowsは大きな変化がある可能性 まさかのWindows 12が今年出る説!?
- 第360回 Windowsにおけるプログラム実行ルールをさらに詳しく掘り下げる
- 第359回 Windowsでプログラムを実行するルールをあらためて掘り下げる
- 第358回 Windowsにおける環境変数をあらためて整理する
- 第357回 Outlookの25年の歴史を整理する
- 第356回 フォルダーやファイルがリネームできない! ファイルを開いているプロセスを探す方法
- 第355回 Microsoftストア版WSLが正式版になり、Windows 10でも動作可能に
- この連載の一覧へ