MSIX とは

MSIX は、あらゆる Windows アプリに最新のパッケージ化エクスペリエンスを提供する Windows アプリ パッケージ形式です。 MSIX パッケージ形式では、Win32、WPF、Windows フォームのアプリに対して新たな、最新のパッケージ化および展開機能が有効になるだけでなく、既存のアプリ パッケージやインストール ファイルの機能が維持されます。

MSIX を使用すると、企業は時勢に遅れず、自社のアプリケーションを常に最新の状態に保つことができます。 これにより、IT プロや開発者はユーザー中心のソリューションを提供しながら、再パッケージ化の必要性を減らすことでアプリケーションの所有権のコストを削減できます。

主要な機能

  • 信頼性。 MSIX のインストールは信頼性が高く、数百万回のインストール中 99.96% の成功率を達成しており、アンインストールも保証されます。
  • ネットワーク帯域幅の最適化。 MSIX では、64k のブロックのみをダウンロードすることで、ネットワーク帯域幅への影響が軽減されます。 これは、MSIX アプリ パッケージに含まれている AppxBlockMap.xml ファイルを活用することで実現されます (詳細については、以下を参照してください)。 MSIX は、最新のシステムとクラウド向けに設計されています。
  • ディスク領域の最適化。 MSIX では、アプリ間のファイルの重複が存在しません。Windows によってアプリ間の共有ファイルが管理されます。 アプリは引き続き相互に独立しているため、更新によってファイルを共有する他のアプリに影響が出ることはありません。 プラットフォームによりアプリ間で共有ファイルが管理されている場合でも、完全アンインストールは保証されます。

概要

  • 既存の Windows アプリをパッケージ化します。 MSIX Packaging Tool を使用して、以前の Windows アプリまたは新しい Windows アプリ用の MSIX パッケージを作成します。 MSIX Packaging Tool は、パッケージ化エクスペリエンスを合理化し、Windows アプリを変換してパッケージ化するための対話型のユーザー インターフェイスまたはコマンド ラインを提供します。
  • MSIX アプリ パッケージをインストールします。 アプリ インストーラーを使用して、ローカルに利用できる、または任意のコンテンツ配信ネットワーク上にある MSIX アプリ パッケージのインストールとアップデートを行います。
  • パッケージ アプリに実行時の修正プログラムを適用します。 パッケージ サポート フレームワークは、ソース コードにアクセスできない場合に既存のデスクトップ アプリに修正を適用して MSIX コンテナー内で実行できるようにするのに役立つオープン ソース キットです。
  • MSIX をあらゆる場所で使用します。 オープン ソースの MSIX SDK により、MSIX パッケージは、より多用途であり、プラットフォームに依存しません。 この SDK には、Windows 10 と非 Windows 10 のプラットフォームを含むあらゆるプラットフォームでアプリ パッケージを確認、検証、展開するために必要なすべての API が用意されています。

MSIX とリソースの紹介ビデオ

このビデオでは、アプリのインストールと展開のワークフローを効率化して改善するために MSIX パッケージを使用する主要な方法を紹介します。


MSIX に関するディスカッションと最新の情報については、MSIX テクニカル コミュニティのページにアクセスしてください。 MSIX の学習に関するその他のリソースについては、こちらの記事をご覧ください。

MSIX パッケージの内部

MSIX Package Diagram

アプリ ペイロード

ペイロード ファイルとは、アプリのビルド時に作成されるアプリのコード ファイルとアセットのことです。

AppxBlockMap.xml

パッケージのブロック マップ ファイルとは、アプリのファイルの一覧と、パッケージに格納されている各データ ブロックのインデックスと暗号化ハッシュを含む XML ドキュメントのことです。 ブロック マップ ファイル自体は、パッケージが署名されるときにデジタル署名を使って検証および保護されます。 ブロック マップ ファイルによって、MSIX パッケージを段階的にダウンロードして検証できるようになります。また、インストール後のアプリ ファイルに対する差分更新をサポートするためにも機能します。

AppxManifest.xml

パッケージ マニフェストとは、システムが MSIX アプリを展開、表示、および更新するために必要な情報を含む XML ドキュメントのことです。 この情報には、パッケージ ID、パッケージの依存関係、必要な機能、ビジュアル要素、および拡張ポイントが含まれます。

AppxSignature.p7x

AppxSignature.p7x は、パッケージに署名するときに生成されます。 すべての MSIX パッケージは、インストールする前に署名されている必要があります。 AppxBlockmap.xml により、プラットフォームでパッケージをインストールし、検証することができます。

サポートしているプラットフォーム

MSIX をサポートしているプラットフォームの完全な一覧については、こちらの記事をご覧ください。

アプリ コンテナーの利点

MSIX を使用してパッケージ化されたアプリは、軽量なアプリ コンテナーで実行するよう構成できます。 アプリのプロセスとその子プロセスは、コンテナー内で実行され、ファイル システムとレジストリの仮想化を使用して分離されます。 詳細については、「MSIX AppContainer アプリ」を参照してください。

すべての AppContainer アプリで、グローバル レジストリを読み取ることができます。 AppContainer アプリでは、独自の仮想レジストリと仮想アプリケーション データ フォルダーに書き込みが行われます。そのデータは、アプリのアンインストール時またはリセット時に削除されます。 他のアプリから AppContainer アプリの仮想レジストリまたは仮想ファイル システムにアクセスすることはできません。