MSIXパッケージ化アプリのことならなんでもお任せ「MSIX-Hero」 ~依存関係の可視化も
「MSIX-Hero」は、MSIX形式でパッケージングされたアプリを管理するツール。基本的に開発者向けのアプリで、パッケージの作成・改変やトラブルシューティングといった機能が主だが、エンドユーザーにとっても興味深い機能がいくつか含まれている。 【画像】MSIXファイルの構造。アプリケーションファイルにいくつかの必要なデータ(マニフェストや署名)などを加え、単一のファイルにまとめ(パッケージ化)ている 「MSIX」は、Windowsで広く用いられているインストーラー形式「MSI」の後継。かつてのWindowsアプリはインストールとアンインストールを繰り返すシステムを破壊し、不安定にすることがあったが、「MSIX」はストアアプリ(UWP)で用いられている「APPX」パッケージのモダンな設計を取り入れることでそれを解決。サンドボックス(コンテナー)技術でセキュリティが大きく向上したほか、ストリーミングインストールや差分アップデートといった技術も盛り込まれ、ストレージやネットワークの負担も軽減された。最近はWin32アプリでも「MSIX」でパッケージングされているものが増えており、「*.msix」という拡張子で配信されているのをよく見かける。 「MSIX-Hero」には、このMSIX形式パッケージを扱うための機能とツールが詰め込まれている。主な機能は以下の通りだ。 ・MSIXアプリの管理 ►インストールされているアプリの表示、インストール、削除などが可能。アプリパッケージの詳細な情報も得られる ►パックされていなかったり、署名されていないアプリをインストール。ルーズファイル(パッケージ化に必要なファイルはそろっているが、パッケージ化はされていない状態)をシステムへ簡単にセットアップできる ►APPXボリュームの管理 ►アプリの更新 ►すべてのユーザーに対してアプリをインストール(プロビジョニング)およびアンインストール(デプロビジョニング) ►インストール状況の確認 ►インストールフォルダーの変更。たとえばCドライブの容量が足りないときに、アプリパッケージをDドライブへ移せる(編集部にて試用したところ、アプリがクラッシュして試せなかった) ►ネストされた依存関係をグラフで視覚化 ・トラブルシューティング ►パッケージを対象にカスタムツールや定義済みツールを呼び出す。ログなどの表示も可能 ►既存アプリをMSIXコンテナーで動かすためのパッケージ サポート フレームワーク(PSF)で用いられる難解なJSONベースの定義をわかりやすく表示 ►MSIXパッケージングに関するシステムの状態をわかりやすくアイコン表示 ►インストールされたアプリで用いられているパッケージングツールを検出 ►MSIXパッケージの差分更新で起こることをレポート(変更箇所など) ・パッケージの作成と改変 ►コード署名 ►アプリのパッケージ化と解凍 ►「WinGet」マニフェストの作成 ►「.appinstaller」ファイルの作成。最近の「Microsoft Store」で採用されている ►修正パッケージの作成 利用するにはまず、[View]ボタンを押してアプリリストのフィルタリング設定を変更する。既定では実行中かつ自動更新の提案のあるアプリのみがリストアップされるが、チェックボックスをいくつか外せば、画面左側のリストビューにMSIXアプリがリストアップされるはずだ。アプリを選択すると、右側の画面に詳細な情報が表示される。 なかでも興味深いのは、依存性分析(Dependency Analyzer)の機能だ。この機能を利用すると、アプリが必要とするOSやフレームワーク、ライブラリの関係が、必要なバージョンとともにグラフ化される。アプリの内部でどんなコンポーネントが用いられているのかが垣間見えて面白い。 システムにインストールされたストアアプリなどをビジュアルに管理したいだけなら「WingetUI」などのツールの方が手軽でお勧めだが、それでは物足りないパワーユーザーは「MSIX-Hero」も試してみるとよいだろう。 「MSIX-Hero」は「GitHub」でホストされているオープンソースプロジェクトで、ライセンスは「GPLv3」。Windows 10 バージョン 1809およびそれ以降、Windows 11に対応しており、動作には.NET 8.0が必要。公式サイト「msixhero.net」などからダウンロードできる。 ソフトウェア情報 「MSIX-Hero」・【著作権者】 Marcin Otorowski 氏 ・【対応OS】 Windows 10 バージョン 1809およびそれ以降、Windows 11 ・【ソフト種別】 フリーソフト ・【バージョン】 3.1.0(24/12/01)
窓の杜,樽井 秀人