MSIX とは?

完了

Contoso が MSIX アプリ アタッチ テクノロジを使用してアプリケーションを展開する必要があるかどうかを判断するのに役立ちます。 MSIX アプリ アタッチについて詳しく説明する前に、まず MSIX、MSIX パッケージ、および MSIX パッケージ ツールの目的と利点について説明します。

MSIX の目的と利点

MSIX は、すべての Windows アプリに最新のパッケージング エクスペリエンスを提供する Windows アプリのパッケージ形式です。

アプリケーションを MSIX パッケージ形式で準備できます。これは、コンテナー テクノロジを使用して、アプリケーションのインストールとアンインストールの忠実度を向上させます。 すべての MSIX アプリは、独自のレジストリとアプリケーション データ フォルダーに書き込み、オペレーティング システムを介してグローバル レジストリを読み取ることができます。

MSIX の利点は次のとおりです。

  • 予測可能で安全な展開。 MSIX アプリは、セキュリティのためにアプリを他のオペレーティング システムから分離するコンテナー テクノロジを使用しています。
  • クリーンな除去。 MSIX アプリを削除すると、すべてのアプリケーション データが削除されます。 レジストリまたはオペレーティング システムのファイル システムにデータは残りません。
  • 単一インスタンスの記憶域。 MSIX アプリ アタッチは、MSIX アプリケーションの 1 つのインスタンスを使用して、余分なスペースを消費することなくすべてのホストに配信します。
  • 改ざんへの抵抗。 MSIX パッケージが MSIX 画像に展開された後、後者は読み取り専用になり、オペレーティング システムによる変更のためロックダウンされます。

ヒント

MSIX により、Microsoft Store を使用して Win32 アプリケーションをパッケージ化および配布できます。

MSIX パッケージには何が含まれていますか?

MSIX 形式でパッケージ化されたアプリケーションは、c:\Program Files\WindowsApps フォルダーにインストールされます。 各パッケージ フォルダーには、次の標準化されたファイルが含まれています。

ファイル 説明
アプリ ペイロード アプリ コード ファイルとアセットが含まれています。
AppxBlockMap.xml パッケージ内のすべてのファイルの検証済みで安全な一覧が含まれています。
AppxManifest.xml ファイルとの関連付けを構成することでインストールを促進し、パッケージの ID とファイルの依存関係を含みます。
AppxSignature.p7x アプリをインストールする前にオペレーティング システムが信頼する必要があるパッケージの署名が含まれています。

ヒント

MSIX パッケージの内容を抽出するには、.msix ファイル拡張子を .zip に変更してから、エクスプローラーを使用してファイルを抽出します。

MSIX コンテナー

MSIX 形式で準備されたアプリは、軽量のコンテナーで実行されます。 MSIX アプリは、独自の仮想レジストリとアプリケーション データ フォルダーに書き込みます。 すべての MSIX アプリ プロセスは、そのコンテナー内で実行されます。

MSIX パッケージの作成

次の 2 つの方法のいずれかを使用して、MSIX パッケージを作成できます。

  • 既存の Win32 インストーラーの再パッケージ化
  • ソース コードから MSIX を生成する

MSIX パッケージ ツール

MSIX パッケージ ツールを使用して、次のインストーラーのいずれかから MSIX アプリケーション パッケージを作成できます。

  • MSI
  • EXE
  • ClickOnce
  • App-V
  • Script
  • 手動インストール

MSIX パッケージ ツールには、Microsoft Store または Hyper-V クイック スタートからアクセスできます。

インタラクティブ UI またはコマンド ラインを使用して、既存のパッケージを MSIX パッケージ形式に変換できます。 MSIX パッケージ ツールを実行する前に、次のことを行うことが重要です。

  • サポートされている Windows 10 バージョン (1809 以降) を使用してください。
  • 追加のサービスやアプリケーションを実行せずに、クリーンなコンピューターから作業します。
  • 変換用の環境を準備し、新しく作成された MSIX パッケージをホストする環境と同じであることを確認します。
  • 変換に使用されるコンピューターのアーキテクチャが、アプリケーションを展開するコンピューターと同じであることを確認してください。
  • チェックポイントを備えた仮想マシンを使用すると、パッケージを変更するたびに変更を簡単にテストして元に戻すことができます。
  • アプリケーションの依存関係を理解して、MSIX パッケージを適切に準備します。

注:

Windows 10 Fall Creators Update (Windows 10 バージョン 1709) 以降、Microsoft は、MSIX パッケージ プロジェクトに使用できる Hyper-V クイック 作成仮想環境を提供しています。

クリーンなコンピューターで MSIX パッケージ ツールを実行すると、次の 3 つのオプションのいずれかを選択するように求められます。

  • アプリケーション パッケージ。 このオプションを使用して、既存のインストーラーから、またはアプリケーション ペイロードの手動インストールを通じて MSIX パッケージを作成します。
  • 変更パッケージ。 このオプションを使用して、既存の MSIX パッケージを変更します。 このオプションでは、最初のパッケージ化手順を実行する必要がある場合があります。
  • パッケージ エディター。 このオプションを使用して、インストーラーを再度実行せずに既存のパッケージに変更を加えます。 たとえば、パッケージのマニフェストを編集できます。

MSIX パッケージ ツールのスクリーンショット。

注:

MSIX アプリ アタッチは変更パッケージをサポートしていません。

MSIX パッケージ ツールで、次の手順を使用して、アプリケーションを MSIX に再パッケージ化します。

  1. MSIX パッケージ ツールはコンピューターを準備します。 この手順では、MSIX パッケージ ドライバーがインストールされ、Windows Update が無効になります。

  2. パッケージ化するインストーラーを選択します。 この手順は、変換することを選択したインストーラーによって異なります。 このステップの最後の部分は、次のいずれかのオプションを使用してパッケージに署名することです。

    • Device Guard の署名でサインします。
    • 証明書 (.pfx) でサインします。
    • .cer ファイルを指定します。 このオプションはパッケージに署名しませんが、署名に使用される証明書の件名と一致します。
  3. パッケージ情報の詳細。 MSIX パッケージ ツールは、使用されているインストーラーに基づいてアプリに関する情報を自動入力しようとします。 必要に応じて、独自の値で入力をカスタマイズできます。

  4. インストールを実行します。 ツールはインストール フェーズの監視を開始し、すべてのインストール オプションをキャプチャします。 インストーラーで再起動が必要な場合は、コンピューターを再起動して変換のプロセスを続行できます。

  5. ツールを初めて実行するときのユーザー エクスペリエンスを決定するタスクを管理します。

  6. サービス レポートを確認します。 この手順は、コンピューターにサービスを登録するインストーラーに使用されます。 サポートされているサービスは、包含の表に記載されています。 サポートされていないサービスは、除外の表に表示しています。

  7. パッケージを作成します。 これはプロセスの最終フェーズであり、MSIX パッケージを保存する場所を指定します。

コマンド ライン インターフェイスを使用して、アプリケーションを再パックするプロセスを自動化できます。 次の例では、コマンド ラインから MSIX パッケージ ツールを使用する方法を定義しています。

 MsixPackagingTool.exe create-package --template c:\users\documents\ConversionTemplate.xml -v
 MSIXPackagingTool.exe create-package --template c:\users\documents\ConversionTemplate.xml --virtualMachinePassword pswd112893

注:

MSIX ツールキットの scripts フォルダーに、MSIX パッケージのパッケージ化、署名、管理、および配布のプロセスを自動化する方法を示すサンプルの PowerShell および Bash スクリプトがあります。