任意のデスクトップ インストーラー (MSI、EXE、ClickOnce、または App-V) から MSIX パッケージを作成する

MSIX Packaging Tool を使用して、以下のいずれかのオプションから MSIX アプリケーション パッケージを作成できます。

  • MSI
  • EXE
  • ClickOnce
  • App-V
  • スクリプト
  • 手動インストール

このドキュメントでは、既存の資産を取得し、それらを MSIX に変換する方法について順を追って説明します。

変換を開始する前に、インストーラーを理解し、それが変換を行うかどうかを確認することをお勧めします。

また、環境を構成するためのベスト プラクティスと、変換用の MSIX Packaging Tool に従うこともお勧めします。

注意

MSIX Packaging Tool は現在、App-V 5.1 をサポートしています。 App-V 4.x を使用するパッケージがある場合は、ソース インストーラーを使用して MSIX に変換することをお勧めします。

このツールを最初に起動すると、テレメトリ データの送信に同意するよう求められます。 重要な注意点として、共有する診断データはアプリからのみ提供され、個人の特定やお問い合わせの目的で使用されることはありません。

アプリケーション パッケージの作成は、最もよく使用されるオプションです。 ここで、インストーラーから、またはアプリケーション ペイロードの手動インストールによって、MSIX パッケージを作成します。

Pic 1

パッケージ化の方法

変換コンピューターのオプションを選択します。

  • 既にクリーンな環境で作業している場合は、[Create package on this computer]\(このコンピューターにパッケージを作成する\) を選択します

  • 既存の仮想マシンまたはリモート コンピューターに接続する場合は、[Create package on a remote machine]\(リモート コンピューターにパッケージを作成する\) を選択します

  • 変換するマシンにローカル仮想マシンがある場合は、[Create package on a local virtual machine]\(ローカル仮想マシンにパッケージを作成する\) を選択します

    • Hyper-v 仮想マシンのみがサポートされていることに注意してください。別の仮想化製品を使用する場合は、[リモートコンピューター] オプションを使用して接続できます。
  • [次へ] をクリックします。

コンピューターを準備する

次に、[Prepare computer]\(コンピューターの準備\) ページに、パッケージ化に向けてコンピューターを準備するためのオプションが表示されます。

MSIX Packaging Tool ドライバーが必要です。それが有効になっていない場合、このツールにより自動的に有効化が試行されます。 このツールは、最初に DISM を使って、ドライバーがインストールされているかどうかを確認します。 問題が発生した場合は、トラブルシューティングのドキュメントを確認し、問題が解決しなればフィードバック Hub 問題を提出してみてください。

注意

MSIX Packaging Tool ドライバーは、システムを監視して、インストーラーがシステムに対して行っている変更をキャプチャします。これにより、MSIX Packaging Tool は、それらの変更に基づいてパッケージを作成できます。

Windows Update がアクティブ: 余分なデータが収集されないように、パッケージ化の期間中、Windows Update を一時的に無効にします。

  • [Pending reboot]\(再起動の保留中\) チェック ボックスは既定では無効になっています。 保留中の操作により再起動が必要というメッセージが表示された場合は、マシンを手動で再起動してから、もう一度ツールを起動する必要があります。 これは必須ではなく、お勧めにすぎません。

  • (省略可能) [Windows Search is Active]\(Windows Search がアクティブ\) チェック ボックスをオンにします。検索サービスを無効にする場合は、[Disable selected]\(選択の無効化\) を選択します。

    • これは必須ではなく、お勧めにすぎません。
    • 無効にすると、このツールにより、状態フィールドが無効に更新されます。
  • (省略可能) [SMS Host is Active]\(SMS ホストがアクティブ\) チェック ボックスをオンにします。ホスト サービスを無効にする場合は、[Disable selected]\(選択の無効化\) を選択します。

    • これは必須ではなく、お勧めにすぎません。
    • 無効にすると、このツールにより、状態フィールドが無効に更新されます。

マシンの準備が完了したら、[Next]\(次へ\) をクリックします。

パッケージ化するインストーラーを選択する

まず、変換するインストーラーで何が発生するかを理解しておく必要があります。 これらのインストーラーのいずれかを、ワークフローを簡略化するためにここで指定することも、ワークフローの後半で、インストールするときに手動で実行することもできます。

MSI インストーラー

.msi インストーラーを変換する場合は、そのファイルをブラウズし、.msi を指定するだけで構いません。 付属の .mst ファイルまたは .msp ファイルがある場合は、[インストーラー引数] フィールドで指定できます。 ここで .msi を指定する利点の 1 つは、パッケージ情報をすべてそのファイルから取得して、次の変換手順で時間を節約できることです。

App-V インストーラー

App-V を使用して変換する場合、これは非常に簡単なプロセスです。 必要なのは、App-V ファイルを指定することだけです。[MSIX を作成する] ページに迅速に追跡できます。 これは、パッケージのマニフェストを MSIX パッケージに変換するだけで、その後 MSIX として機能するからです。 ここでの注意事項は、このツールでサポートされているのは App-V 5.1 のみであることです。App-V がバージョン 4.x の場合は、ソースインストーラーを使って、MSIX に直接変換することをお勧めします。

EXE インストーラー

.exe インストーラーを変換する場合は、この時点でインストーラーを指定できます。 exe との形式の一貫性がないため、インストーラーのパッケージ情報を手動で入力する必要があります。

ClickOnce インストーラー

ClickOnce インストーラーを変換する場合は、この時点でインストーラーを指定できます。 .exe と同様に、インストーラーのパッケージ情報を手動で入力する必要があります。

スクリプト

スクリプトを使用してアプリケーションをインストールする場合は、ここでコマンド ラインを指定できます。 または、このフィールドを空白のままにして、インストール段階でスクリプトを手動で実行することもできます。

手動インストール

手動でインストーラーを実行する場合、またはインストーラーのアクションを手動で実行する場合は、[インストーラー] フィールドを空白のままにして、インストール段階でインストーラーに必要な操作を実行します。

変換テンプレート ファイルを生成しようとすると、インストーラーを指定しなければ変換を実行できなくなります。

インストーラー引数がある場合は、指定されたフィールドに必要な引数を入力できます。 このフィールドは、あらゆる文字列を受け入れます。

署名の設定

[署名の設定] で、署名オプションを選択します。 また、これを設定の既定値として設定することもできます。これにより、変換するたびにいくつかの手順を省略できます。

  • Device Guard 署名で署名する: このオプションを使用すると、Device Guard 署名と共に使用するように構成した Microsoft Active Directory アカウントにサインインできます。これは、ユーザーが独自の証明書を提供する必要がない場所で Microsoft が提供する署名サービスです。 アカウントの設定方法と Device Guard の署名については、こちらを参照してください。
  • 証明書 (.pfx) を使用して署名する: .pfx 証明書ファイルを参照して選択します。 証明書がパスワードで保護されている場合は、パスワード ボックスにパスワードを入力します。
  • .cer ファイルを指定する (署名しない): このオプションを使用すると、.cer ファイルを指定できます。 これは、パッケージに署名することを望まず、発行元の情報が署名に使用される証明書のサブジェクトと一致していることを確認したい場合に便利です。
  • パッケージに署名しない: 後でパッケージに署名する場合は、このオプションを選択します。 注: MSIX パッケージが署名されていない場合、それをインストールすることはできません
  • 署名時に、必要に応じて証明書にタイムスタンプを追加することにより、有効期限が切れても証明書の有効性を持続させることをお勧めします。 許可される形式は、RFC 3161 タイム スタンプ サーバーの URL です。

注意

SHA1 証明書を使用して MSIX パッケージ形式のアプリケーションに署名することはサポートされていません。

[次へ] をクリックして続行します。

パッケージ情報

既存の仮想マシン上でご自分のアプリケーションをパッケージ化することを選択した後は、そのアプリに関する情報を指定する必要があります。 このツールでは、インストーラーから入手できる情報に基づいてこれらのフィールドへの自動入力が試行されます。 どのような場合でも、必要に応じてエントリを更新できます。 フィールドにアスタリスク * が付いている場合は必須です。 エントリが無効な場合は、インライン ヘルプが表示されます。

  • Package name (パッケージ名):
    • 必須です。マニフェスト内のパッケージ ID 名に対応し、パッケージの内容を記述します。
    • エンド ユーザーには表示されません。
    • 大文字と小文字が区別され、スペースを含めることはできません。
    • 長さが 3 から 50 文字で、英数字、ピリオド、およびダッシュ文字で構成された文字列を受け入れることができます。
    • 末尾をピリオドにすることはできません。また、"CON"、"PRN"、"AUX"、"NUL"、"COM1"、"COM2"、"COM3"、"COM4"、"COM5"、"COM6"、"COM7"、"COM8"、"COM9"、"LPT1"、"LPT2"、"LPT3"、"LPT4"、"LPT5"、"LPT6"、"LPT7"、"LPT8"、"LPT9" は使用できません。
  • Package display name (パッケージ表示名):
    • 必須です。マニフェスト内のパッケージに対応し、スタート メニューや設定ページでユーザーにパッケージのフレンドリ名を表示します。
    • このフィールドは、長さが 1 から 256 文字の文字列を受け入れ、ローカライズ可能です。
  • Publisher name (発行元名):
    • 必須です。パッケージに対応し、発行元の情報を記述します。
    • 発行元属性は、パッケージへの署名に使用する証明書の発行元サブジェクト情報と一致する必要があります。
    • このフィールドは、長さが 1 から 8,192 文字で、識別名の正規表現 "(CN | L | O | OU | E | C | S | STREET | T | G | I | SN | DC | SERIALNUMBER | Description | PostalCode | POBox | Phone | X21Address | dnQualifier | (OID.(0 | [1-9][0-9])(.(0 | [1-9][0-9]))+))=(([^,+="<>#;])+ | ".")(, ((CN | L | O | OU | E | C | S | STREET | T | G | I | SN | DC | SERIALNUMBER | Description | PostalCode | POBox | Phone | X21Address | dnQualifier | (OID.(0 | [1-9][0-9])(.(0 | [1-9][0-9]))+))=(([^,+="<>#;])+ | ".")))*" に適合する文字列を受け入れます。
  • Publisher display name (発行元表示名):
    • 必須です。マニフェスト内のパッケージに対応し、アプリ インストーラーや設定ページでユーザーに発行元のフレンドリ名を表示します。
    • このフィールドは、長さが 1 から 256 文字の文字列を受け入れ、ローカライズ可能です。
  • バージョン:
    • 必須です。マニフェスト内のパッケージに対応し、パッケージのバージョン番号を記述します。
    • このフィールドは、"Major.Minor.Build.Revision" という 4 部分からなるバージョン文字列を受け入れます。
  • 説明:
    • このフィールドは省略可能です。
  • Install location (インストール場所):
    • これは、インストーラーがアプリケーション ペイロードをコピーする先の場所です (通常は Programs Files フォルダー)。
    • このフィールドはオプションですが、アプリ ペイロードを Program Files フォルダーの外部にインストールする場合にお勧めします。
    • フォルダー パスを参照して選択します。
    • アプリケーションのインストール操作を実行するときに、このファイルがインストーラーのインストール場所と一致していることを確認します。
  • このパッケージに MSIX コアのサポートを追加します。
    • このチェック ボックスをオンにすると、このドロップダウンが表示され、生成するパッケージの MSIX Core サポート用の Windows バージョンを選択できます。

インストール

  • これはインストール フェーズです。ここでは、このツールがアプリケーションのインストール操作を監視してキャプチャします。
  • ツールによって、前に指定した環境でインストーラーが起動されます。インストーラー ウィザードを実行してアプリケーションをインストールする必要があります。
    • インストール パスが、先ほどパッケージ情報ページ内で定義したものと一致することを確認します。
    • 必要があれば、新しくインストールしたアプリケーションのショートカットをデスクトップに作成します。
    • アプリケーションのインストール ウィザードが終わったら、確実にインストール ウィザードを完了するか、閉じます。
    • 複数のインストーラーを実行する必要がある場合は、この時点で手動でそうすることができます。
    • アプリに必要なその他の前提条件がある場合、ここでそれらをインストールする必要があります。
    • アプリケーションに .Net 3.5/20 が必要な場合は、このオプション機能を Windows に追加します。
  • インストーラーを以前に指定しなかった場合は、ここでインストーラーまたはスクリプトを手動で実行できます。
  • インストーラーで再起動が必要な場合は、手動で再起動するか、[再起動] ボタンを使用して再起動を実行できます。再起動後に、変換プロセスのこの時点に戻ります。
  • アプリケーションのインストールが完了したら、[Next]\(次へ\) をクリックします。

最初の起動タスクを管理する

このページには、ツールがキャプチャしたアプリケーション実行可能ファイルが表示されます。 最初の起動タスクをすべてキャプチャするために、少なくとも 1 回アプリケーションを起動することをお勧めします。

実行可能ファイルを選択し、[実行] をクリックすることで起動できます。 不要なエントリ ポイントを選択し、[削除] をクリックして削除することもできます。

複数のアプリケーションがある場合は、メインのエントリ ポイントに対応するチェック ボックスをオンにします。 ここにアプリケーションの .exe が表示されない場合、それを手動で参照して実行します。 それから、リストを更新します。

[Next]\(次へ\) をクリックします。アプリケーションのインストールが完了し、最初の起動タスクを管理することの確認を求めるポップ アップが表示されます。

  • 完了している場合は、[Yes, move on]\(はい、進む\) をクリックします。
  • 完了していない場合は、[No, I'm not done]\(いいえ、完了していない\) をクリックします。 直前のページに戻ります。そこで、アプリケーションの起動、他のファイル、dll、実行可能ファイルのインストールやコピーを実行できます。

サービス レポート

1.2019.1220.0 バージョンの MSIX パッケージ化ツールから、インストーラーをサービスに変換できるようになりました。これにより、[サービス レポート] ページが追加されました。 サービスが検出されなかった場合も、このページは表示されますが空になり、サービスが検出されなかったことを示すメッセージがページの上部に表示されます。

[サービス レポート] ページには、変換中にインストーラーで検出されたサービスの一覧が表示されます。 必要な情報がすべて揃っていて、サポートされるサービスは、[含まれるもの] の表に表示されます。 追加情報または修正を必要とするか、またはサポートされないサービスは、[除外されるもの] の表に表示されます。

サービスを修正するか、サービスに関する追加のデータを表示するには、表内のサービス エントリをダブルクリックして、サービスに関する詳細情報を含むポップアップを表示します。 必要に応じて、この情報の一部を編集することができます。

  • キー名: サービスの名前。 これは編集できません。
  • 説明: サービス エントリの説明。
  • 表示名: サービスの表示名。
  • イメージ パス: サービスの実行可能ファイルの場所。 これは編集できません。
  • 開始アカウント: サービスの開始アカウント。
  • スタートアップの種類: サービスのスタートアップの種類。 自動手動、および無効をサポートします。
  • 引数: サービスの開始時に実行される引数。
  • 依存関係: サービスの依存関係。

サービスが修正された後、それを[含まれるもの] の表に移動することができますが、最終的なパッケージに入れない場合には、[除外されるもの] の表に入ったままにしておくこともできます。 詳細については、サービスのドキュメントを参照してください。

パッケージの作成

  • MSIX パッケージを保存する場所を指定します。
  • 既定では、パッケージはローカルのアプリ データ フォルダーに保存されます。
  • [Settings]\(設定\) メニューで、既定の保存場所を定義できます。
  • 変換テンプレート ファイルを生成する場合、それを MSIX パッケージと同じ場所に保存することを望まないなら、そのテンプレート ファイルに別の保存場所を指定することもできます。
  • MSIX パッケージを保存する前に、続けてパッケージの内容やプロパティを編集する場合は、[パッケージ エディター] を選択して、パッケージ エディターに移動することができます。
  • [Create]\(作成\) をクリックして、MSIX パッケージを作成します。

パッケージが作成されると、ポップ アップが表示されます。 このポップアップには、新しく作成されたパッケージのファイルの場所にリンクされた保存場所が含まれます。 また、MSIX Packaging Tool のログ ファイルの場所へのリンクも含まれています。 このポップアップを閉じると、ウェルカム ページにリダイレクトされます。 また、パッケージ エディターを選択して、パッケージの内容やプロパティを確認および変更することもできます。