Win32アプリとUWPアプリ、どっちを選ぶ? 両方ある場合の選択ポイントとメリット/デメリットは企業ユーザーに贈るWindows 10への乗り換え案内(126)

ビジネス向けのアプリケーションの多くは、従来のWin32アプリとして提供されています。そのため、Microsoft Storeで提供されるUWPアプリをビジネスで積極的に活用しているというところは少ないかもしれません。Windows 10、そしてWindows 11で進化し続けるUWPアプリの世界は、知らぬ間に、企業におけるアプリの配布や更新の形を劇的に変える可能性を広げています。

» 2022年06月14日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「企業ユーザーに贈るWindows 10への乗り換え案内」のインデックス

企業ユーザーに贈るWindows 10への乗り換え案内

「MSIX」って何ですか?

 2016年に提供された「Desktop App Converter」、そしてそれを置き換える形で2018年に登場した「MSIX Packaging Tool」は、従来型のWin32アプリケーション(Win32アプリ)の開発者に、ユニバーサルWindowsプラットフォーム(UWP)アプリの世界への門戸を大きく広げました。

 これらのツールは、Win32デスクトップアプリを簡単にUWPアプリに変換し、新しいアプリインストーラー形式である「MSIX」パッケージを作成するものです。MSIXはアプリ開発者向けの技術であり、エンドユーザーや管理者はそれを利用することで、さまざまな利点を得られます。MSIXについて詳しくは説明しませんが、詳細を学ぶには以下の公式ドキュメントをご覧ください。

 Windowsでは、古くから、そして現在でもWindowsインストーラー形式「MSI」が利用されてきました。MSIパッケージはサイレントインストールが可能であり、さまざまなソフトウェア配布ツールとの親和性も高いです。Windows ServerのActive Directoryドメインサービスで利用可能な「グループポリシー」を使用して、Win32アプリの自動インストールやアンインストールを管理することもできます。

 MSIXとはどのような技術なのか、何ができるのか、エンドユーザーと管理者のそれぞれの視点、技術的な視点から見ていきましょう。

ユーザーにとってのUWPアプリ版の利便性

 現在、スタンドアロンインストーラーとしてダウンロード提供されてきたアプリが、UWPアプリとしてMicrosoft Storeから入手できるものも出てきました。その良い例が「Mozilla Firefox」です。

 Microsoft StoreからインストールしたFirefoxは、MozillaのWebサイトからダウンロードしてインストールしたFirefoxと、ほとんど同じように機能します。そのため、単にインストーラーがMicrosoft Storeから提供されているだけと勘違いをしている人がいるかもしれません(後述する「Adobe Reader DC」のように、そのような手段としてのみMicrosoft Storeが利用されている場合もあります)。

 従来の方法でFirefoxをWindowsにインストールする場合は、MozillaのWebサイトからオンラインインストーラー(Firefox Installer.exe)をダウンロードし、それを実行して「ユーザーアカウント制御(UAC)」で昇格を許可し、インストールするという手順になります(画面1)。

画面1 画面1 Webサイトからインストーラーをダウンロードし、UAC昇格を経て、インストーラーを実行してインストールする

 一方、Microsoft Storeからインストールする場合は、Microsoft Storeでアプリを検索して見つけたら、「入手」ボタンをワンクリックするだけでダウンロードとインストールが行われます(画面2)。

画面2 画面2 Microsoft Storeでアプリを見つけ、「入手」ボタンをワンクリックするだけでダウンロードとインストールが行われる

 通常版(Win32アプリ)とUWPアプリ版のどちらも、新バージョンへの更新は自動で行われます。ただし、通常版のFirefoxは、「Mozilla Maintenance Service」によってバックグラウンドで自動更新されるか、「ヘルプ」メニューの「Firefoxについて」を開いて手動で更新を確認します。一方、UWPアプリ版はMicrosoft Storeのアプリの更新機能により自動更新されるか、Microsoft Storeのライブラリで更新プログラムの確認を手動で実行します(画面3)。UWPアプリ版の方は「Mozilla Maintenance Service」がインストールされません。

画面3 画面3 新バージョンへの更新はどちらも自動更新だが、通常版のFirefoxはFirefox自身の更新機能(画面左)で、UWPアプリはMicrosoft Storeのアプリ更新機能(画面右)で行われる

管理者にとってのUWPアプリの利点

 Win32アプリの配布や更新管理に対応したソフトウェア配布ツールは、古くからさまざまなものが存在します。前述したように、Windowsインストーラー形式(MSI)であれば、グループポリシーだけで管理できますし、Windows対応のソフトウェア配布ツールは通常、MSIに標準で対応しています。

 非MSI形式のインストーラーの場合でも、多くの場合、サイレントインストールオプションが用意されています。例えば、Firefoxの場合は、スタンドアロンインストーラーに「-ms」パラメーターを付けて管理者権限でコマンドラインを実行すれば、ユーザーとの対話なしでインストールできます(画面4)。

画面4 画面4 通常版のFirefoxのサイレントインストール

 UWPアプリの場合は、「Microsoft Endpoint Manager」の一部である「Microsoft Intune」を使用して、ユーザーへの公開や割り当てが可能です(画面5)。UWPアプリの更新については、Microsoft Store経由で行われるため、管理者はどのUWPアプリをユーザーに配布するかを管理するだけでよく、アプリの配布、更新、削除といった一連の管理作業を大幅に簡素化できます。

画面5 画面5 Microsoft IntuneによるUWPアプリの割り当て

 Microsoftは、アプリの一括購入やプライベートストアでの公開、ユーザーへの割り当てが可能なサービス「ビジネス向けMicrosoft Store(Microsoft Store for Business)」を提供してきましたが、このサービスは2023年第1四半期に廃止される予定です。今後、UWPアプリの配布と更新は、Microsoft Store、Microsoft Intune、「Windows Package Manager」(「winget」としても知られています)という新しい技術が支援します。

 残念なことに、あらゆるWin32アプリがUWPアプリ化されているわけではありません。Microsoft Intuneであれば、従来型アプリを含む、さまざまなアプリの配布と更新に対応できます。MSIXに対応していないソフトウェア配布ツールを利用している場合は、UWPアプリが利用できる場合でも、従来の配布方式を引き続き利用すればよいでしょう。

制限付きのサンドボックスとは異なり、仮想化レイヤー上で実行

 Win32アプリを変換したUWPアプリ(「デスクトップブリッジ」や「Centennialアプリ」とも呼ばれます)は、低い権限しか持たないサンドボックス環境(「AppContainer」や「アプリコンテナ」と呼ばれます)で実行されるネイティブなUWPアプリとは異なり、権限が制限されることはありません。通常のWin32アプリと同様の権限で実行されますし、UAC昇格により、管理者権限で実行することもできます。

 この種のUWPアプリは、Microsoft Storeのアプリの「追加情報」の「このアプリでは次のことができます」に「すべてのシステムリソースを使用する」が許可されているかどうかで判断できます(許可されている場合、UWPアプリ化されています)。

 MSIXパッケージは、Win32アプリのインストールを監視して、ベースOSのレジストリやファイルシステムとの差分をパッケージ化したものです。MSIXベースのUWPアプリは、OSの実際のレジストリとファイルシステムに、パッケージのレジストリとファイルシステムをマージする薄い仮想化レイヤーの上で動作します。

 これは、「クイック実行(Click-to-Run、C2R)」形式を採用した「Microsoft Office」アプリや、C2Rのベースとなった「Microsoft Application Virtualization(App-V)」によく似ています(実際、App-VファイルをMSIXに簡単に変換できます)。

 しかし、ベースの技術は異なります。MSIXのUWPアプリは、Windowsコンテナや「Microsoft Defender Application Guard」「Windows Sandbox」「Windows Subsystem for Linux 2(WSL2)」と同じコンテナ技術(サーバサイロ)がベースとなっており、MSIXのUWPアプリのコンテナは「Helium」コンテナと呼ばれています(この後出てくるスクリーンショットの中にこの名前が見つかります)。

 MSIXのUWPアプリは、ネイティブなUWPアプリと同じ「C:\Program Files\WindowsApps」の下にインストールされ、パッケージに含まれる読み取り専用のレジストリハイブ「registry.dat」が「HKEY_LOCAL_MACHINE\SOFTWARE」の下にマージされ、「HKEY_LOCAL_MACHINE\SOFTWARE」や「HKEY_CURRENT_USER」に対する変更は「C:\ProgramData\Packages」や「C:\Users\ユーザー名\AppData\Local\Packages」の下にユーザーごとに格納されます(画面6)。

画面6 画面6 ファイルシステムとレジストリの仮想化のための関連ファイル。「Helium」というディレクトリ名に注目

 このように、UWPアプリ化されたWin32アプリは通常のWin32アプリとは異なり、OS設定やファイルシステム(例えば、「C:\Program Files」や「C:\Windows」を変更しませんし、「HKEY_LOCAL_MACHINE\SOFTWARE」を直接変更しません)の変更を最小限にしてくれます。それはつまり、OSやシステムの安定性やセキュリティ向上につながります。

 従来のWin32アプリがMicrosoft Storeで公開されているからといって、それが必ずしもUWPアプリ化されていることを示しているわけではないことには注意してください(UWPアプリではない場合、「このアプリでは次のことができます」の項目は宣言されていません)。例えば、Adobe Acrobat Reader DCはMicrosoft Storeで見つかりますが、現状、UWPアプリ化されておらず、通常版のWin32アプリのダウンロードとインストールを行うことができるだけです(画面7)。

画面7 画面7 Microsoft Storeの「Adobe Acrobat Reader DC」アプリは、通常版をインストールするだけ。インストール後の更新はアプリ側で行う必要がある

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP 2009 to 2022(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。