次の方法で共有


Visual Studio でデスクトップまたは UWP アプリをパッケージ化する

アプリを配布する前に、アプリをパッケージ化する必要があります。 この記事では、Visual Studio を使用して MSIX パッケージを構成、作成、テストするプロセスについて説明します。

アプリ パッケージの種類

  • アプリ パッケージ (.msix または.appx)
    1 つのデバイス アーキテクチャを対象とする、アプリケーションとそのリソースを含む 1 つのパッケージ。 たとえば、x64 または x86 アプリケーション パッケージなどです。 アプリ バンドルを使用して複数のアーキテクチャをターゲットにするには、アーキテクチャごとに 1 つを生成する必要があります。

  • アプリ バンドル (.msixbundle または .appxbundle)
    アプリ バンドルは、複数のアプリ パッケージを含めることができるパッケージの一種であり、それぞれが特定のデバイス アーキテクチャをサポートするように構築されています。 たとえば、アプリ バンドルには、x86、x64、ARM 構成用の 3 つの個別のアプリ パッケージを含めることができます。 アプリ バンドルは、可能な限り幅広いデバイスでアプリを使用できるため、可能な限り生成する必要があります。

  • アプリ パッケージアップロード ファイル (.msixupload または .appxupload) - ストア申請専用
    複数のアプリ パッケージを含めることができる 1 つのファイル、またはさまざまなプロセッサ アーキテクチャをサポートするアプリ バンドル。 アプリ パッケージのアップロード ファイルには、Microsoft Store でアプリが発行された後に アプリのパフォーマンスを分析 するためのシンボル ファイルも含まれています。 このファイルは、Microsoft Store に発行するためにパートナー センターに提出する目的で Visual Studio でアプリをパッケージ化する場合に自動的に作成されます。

アプリ パッケージを準備して作成する手順の概要を次に示します。

  1. アプリをパッケージ化する前に。 次の手順に従って、アプリをパッケージ化する準備ができていることを確認します。

  2. プロジェクトを構成します。 Visual Studio マニフェスト デザイナーを使用してパッケージを構成します。 たとえば、タイル 画像を追加し、アプリでサポートされている向きを選択します。

  3. アプリ パッケージを生成します。 Visual Studio パッケージ ウィザードを使用して、アプリ パッケージを作成します。

  4. パッケージ化されたアプリケーションを実行、デバッグ、およびテストします。 Visual Studio から、またはパッケージを直接インストールして、アプリ パッケージを実行してデバッグします。

アプリをパッケージ化する前に

  1. アプリをテストします。 アプリケーションをパッケージ化する前に、サポートする予定のすべてのデバイス ファミリで想定どおりに動作することを確認してください。 これらのデバイス ファミリには、デスクトップ、モバイル、Surface Hub、Xbox、IoT デバイスなどが含まれます。 Visual Studio を使用したアプリの展開とテストの詳細については、「 UWP アプリの展開とデバッグ 」を参照してください (パッケージ化されたデスクトップ アプリにも適用されます)。

  2. アプリを最適化します。 Visual Studio のプロファイリングおよびデバッグ ツールを使用して、パッケージ 化されたアプリケーションのパフォーマンスを最適化できます。 たとえば、UI の応答性のタイムライン ツール、メモリ使用量ツール、CPU 使用率ツールなどです。 これらのツールの詳細については、「 プロファイリング機能ツアー 」トピックを参照してください。

  3. .NET ネイティブの互換性 (VB および C# アプリの場合) を確認します。 ユニバーサル Windows プラットフォームには、アプリのランタイム パフォーマンスを向上させるネイティブ コンパイラがあります。 この変更により、このコンパイル環境でアプリをテストする必要があります。 既定では、 リリース ビルド構成によって .NET ネイティブ ツールチェーンが有効になるため、この リリース 構成でアプリをテストし、アプリが期待どおりに動作することを確認することが重要です。

プロジェクトを構成する

アプリ マニフェスト ファイル (Package.appxmanifest) は、アプリ パッケージの作成に必要なプロパティと設定を含む XML ファイルです。 たとえば、アプリ マニフェスト ファイルのプロパティは、アプリのタイルとして使用するイメージと、ユーザーがデバイスを回転するときにアプリがサポートする向きを示します。

Visual Studio マニフェスト デザイナーを使用すると、ファイルの生の XML を編集せずにマニフェスト ファイルを更新できます。

マニフェスト デザイナーを使用してパッケージを構成する

  1. ソリューション エクスプローラーで、アプリケーション プロジェクトのプロジェクト ノードを展開します。

  2. Package.appxmanifest ファイルをダブルクリックします。 マニフェスト ファイルが XML コード ビューで既に開いている場合は、ファイルを閉じるよう Visual Studio から求められます。

  3. これで、アプリの構成方法を決定できます。 各タブには、アプリに関して構成できる情報と、必要に応じて詳細情報へのリンクが含まれています。

    Visual Studio のマニフェスト デザイナー

    [ Visual Assets ]\(ビジュアルアセット\) タブで、アプリに必要なすべてのイメージがあることを確認します。ここでは、 アプリのアイコンとロゴを指定します

    [ パッケージ化 ] タブでは、発行データを入力できます。 ここで、アプリの署名に使用する証明書を選択できます。 すべての MSIX アプリは、証明書で署名する必要があります。

    Visual Studio 2019 以降では、パッケージ化されたデスクトップ または UWP プロジェクトで一時的な証明書が生成されなくなります。 証明書を作成またはエクスポートするには、この記事ので説明されている PowerShell コマンドレット 使用します。 最近のバージョンの Visual Studio では、開発およびテストシナリオ用に Azure Key Vault に格納されている証明書を使用してアプリに署名 することもできます。

    重要

    Microsoft Store でアプリを発行する場合、アプリは信頼できる証明書で署名されます。 これにより、ユーザーは、関連付けられているアプリ署名証明書をインストールせずにアプリをインストールして実行できます。

    デバイスにアプリ パッケージをインストールする場合は、まずパッケージを信頼する必要があります。 パッケージを信頼するには、証明書をユーザーのデバイスにインストールする必要があります。

  4. アプリに必要な編集を行った後、 Package.appxmanifest ファイルを保存します。

Microsoft Store 経由でアプリを配布する場合、Visual Studio はパッケージをストアに関連付けることができます。 これを行うには、ソリューション エクスプローラーでプロジェクト名を右クリックし、[ Publish->Associate App with the Store ]\(Visual Studio 2019 バージョン 16.3 より前のバージョンでは、[ 発行 ] メニューの名前は Store) を選択します。 これは、次のセクションで説明する アプリ パッケージの作成 ウィザードでも実行できます。 アプリを関連付けると、マニフェスト デザイナーの [パッケージ化] タブの一部のフィールドが自動的に更新されます。

アプリ パッケージを生成する

アプリは、Web サイトに公開したり、Microsoft Intune や Configuration Manager などのアプリケーション管理ツールを使用して、ストアに公開することなくインストールできます。ローカルコンピューターまたはリモート マシンでテスト用の MSIX パッケージを直接インストールすることもできます。

パッケージ 化ウィザードを使用してアプリ パッケージを作成する

次の手順とスクリーンショットでは、Visual Studio 2019 バージョン 16.3 以降のプロセスについて説明します。 以前のバージョンを使用している場合、UI の一部が異なる場合があります。 デスクトップ アプリケーションをパッケージ化する場合は、Windows アプリケーション パッケージ プロジェクト ノードを右クリックします。

  1. ソリューション エクスプローラーで、アプリケーション プロジェクトのソリューションを開きます。

  2. プロジェクトを右クリックし、[発行] > [アプリ パッケージの作成] を選択します (Visual Studio 2019 バージョン 16.3 より前のバージョンでは、[発行] メニューに Store という名前が付けられています)。

    [アプリ パッケージの作成] へのナビゲーションが表示されたコンテキスト メニュー

  3. ウィザードの最初のページで [ サイドローディング ] を選択し、[ 次へ] をクリックします。

    サイドローディングで表示される [パッケージの作成] ダイアログ ウィンドウ

  4. [ 署名方法の選択 ] ページで、パッケージ化署名をスキップするか、署名用の証明書を選択するかを選択します。 ローカル証明書ストアから証明書を選択するか、証明書ファイルを選択するか、新しい証明書を作成できます。 MSIX パッケージをエンド ユーザーのマシンにインストールするには、そのマシンで信頼されている証明書を使用して署名する必要があります。

    署名と共に表示される [パッケージの作成] ダイアログ ウィンドウ

  5. 「Visual Studio を使用してアプリ パッケージ アップロード ファイルを作成する」セクションの説明に従って、[パッケージの選択と構成] ページを完了します。

ダブルクリックしてアプリ パッケージをインストールする

アプリ パッケージは、アプリ パッケージ ファイルをダブルクリックするだけでインストールできます。 これを行うには、アプリ パッケージまたはアプリ バンドル ファイルに移動し、ダブルクリックします。 アプリ インストーラー が起動し、基本的なアプリ情報だけでなく、インストール ボタン、インストールの進行状況バー、および関連するエラー メッセージを提供します。

アプリ インストーラーは、パッケージがデバイスで信頼された証明書で署名されていることを前提としています。 インストールされていない場合は、署名証明書をデバイスの信頼されたユーザーまたは信頼された発行元の証明機関ストアにインストールする必要があります。 これを行う方法がわからない場合は、「 テスト証明書のインストール」を参照してください。

インストール スクリプトを使用してアプリ パッケージをインストールする

  1. *_Test フォルダーを開きます。

  2. Add-AppDevPackage.ps1 ファイルを右クリックします。 [ PowerShell で実行 ] を選択し、画面の指示に従います。
    エクスプローラーで PowerShell スクリプトが表示されました

    アプリ パッケージがインストールされると、PowerShell ウィンドウに次のメッセージが表示されます。 アプリが正常にインストールされました。

  3. [スタート] ボタンをクリックしてアプリを名前で検索し、起動します。

次の手順: アプリ パッケージをデバッグしてテストする

Visual Studio で、または Windows デバッグ ツールを使用してアプリケーションをデバッグする方法については、 アプリ パッケージの実行、デバッグ、テスト に関するページを参照してください。

ストア申請用のアプリ パッケージ アップロード ファイルを生成する

Microsoft Store にアプリを配布するには、 アプリ パッケージアップロード ファイル (.msixupload または .appxupload) を生成し、このファイルをパートナー センターに送信することをお勧めします。 アプリ パッケージまたはアプリ バンドルをパートナー センターだけに送信することはできますが、代わりにアプリ パッケージアップロード ファイルを送信することをお勧めします。

Visual Studio のアプリ パッケージの作成ウィザードを使用して アプリ パッケージ のアップロード ファイルを作成することも、既存のアプリ パッケージまたはアプリ バンドルから手動で作成することもできます。

アプリ パッケージ (.msix or.appx) またはアプリ バンドル (.msixbundle または .appxbundle) を手動で作成する場合は、「 MakeAppx.exe ツールを使用してアプリ パッケージを作成する」を参照してください。

Visual Studio を使用してアプリ パッケージのアップロード ファイルを作成する

次の手順とスクリーンショットでは、Visual Studio 2019 バージョン 16.3 以降のプロセスについて説明します。 以前のバージョンを使用している場合、UI の一部が異なる場合があります。

  1. ソリューション エクスプローラーで、UWP アプリ プロジェクトのソリューションを開きます。

  2. プロジェクトを右クリックし、[発行] > [アプリ パッケージの作成] を選択します (Visual Studio 2019 バージョン 16.3 より前のバージョンでは、[発行] メニューに Store という名前が付けられています)。 このオプションが無効になっているか、まったく表示されない場合は、プロジェクトがユニバーサル Windows プロジェクトであることを確認します。

    [アプリ パッケージの作成] へのナビゲーションが表示されたコンテキスト メニュー

    アプリ パッケージの作成ウィザードが表示されます。

  3. 最初のダイアログで 新しいアプリ名を使用して Microsoft Store を選択し、[ 次へ] をクリックします。

    Microsoft Store に表示される [パッケージの作成] ダイアログ ウィンドウ

    既にプロジェクトをストア内のアプリに関連付けた場合は、関連付けられているストア アプリのパッケージを作成するオプションもあります。 サイドローディングを選択した場合、Visual Studio はパートナー センター申請のアプリ パッケージ アップロード (.msixupload または .appxupload) ファイルを生成しません。 非ストア配布用の MSIX パックまたはバンドルのみを作成する場合は、このオプションを選択できます。

  4. 次のページで、デベロッパー アカウントでパートナー センターにサインインします。 開発者アカウントがまだない場合は、ウィザードを使用して作成できます。

    アプリ名の選択が表示された [アプリ パッケージの作成] ウィンドウ

  5. 現在アカウントに登録されているアプリの一覧からパッケージのアプリ名を選択するか、パートナー センターでまだ予約していない場合は新しいアプリを予約します。

    Visual Studio 2017 を使用している場合、Microsoft アカウント (MSA) を使用しているときに、現在アカウントに登録されているアプリを一覧表示したり、新しいアプリ名を予約したりすることはできません。Azure Active Directory (AAD) アカウントのみが機能します。 MSA アカウントは、Visual Studio 2019 以降でサポートされています。

  6. [パッケージの選択 と構成 ] ダイアログで 3 つのアーキテクチャ構成 (x86、x64、ARM) をすべて選択して、アプリを最も幅広いデバイスに展開できることを確認します。 [ アプリ バンドルの生成 ] リスト ボックスで、[ 常に] を選択します。 アプリ バンドル (.appxbundle または .msixbundle) は、プロセッサ アーキテクチャの種類ごとに構成されたアプリ パッケージのコレクションが含まれているため、1 つのアプリ パッケージ ファイルよりも優先されます。 アプリ バンドルを生成することを選択すると、アプリ バンドルは、デバッグおよびクラッシュ分析情報と共に、最終的なアプリ パッケージアップロード (.appxupload または .msixupload) ファイルに含まれます。 選択するアーキテクチャがわからない場合や、さまざまなデバイスで使用されるアーキテクチャの詳細については、 アプリ パッケージのアーキテクチャに関するページを参照してください。

    パッケージ構成が表示された [アプリ パッケージの作成] ウィンドウ

  7. パブリック シンボル ファイルを含めて、アプリの発行後にパートナー センターからアプリ のパフォーマンスを分析 します。 バージョン番号やパッケージの出力場所などの追加の詳細を構成します。

  8. [ 作成 ] をクリックしてアプリ パッケージを生成します。 手順 3 で Microsoft Store オプションにアップロードするパッケージを作成する パッケージのいずれかを選択し、パートナー センター申請用のパッケージを作成している場合、ウィザードによってパッケージ アップロード (.appxupload または .msixupload) ファイルが作成されます。 手順 3 で サイドローディング用のパッケージを作成することを 選択した場合、ウィザードは手順 6 で選択した内容に基づいて 1 つのアプリ パッケージまたはアプリ バンドルを作成します。

  9. アプリが正常にパッケージ化されると、このダイアログが表示され、指定した出力場所からアプリ パッケージのアップロード ファイルを取得できます。 この時点で、 ローカル コンピューターまたはリモート コンピューターでアプリ パッケージを検証 し、 ストアの申請を自動化できます。

    検証オプションが表示されたパッケージ作成完了ウィンドウ

アプリ パッケージのアップロード ファイルを手動で作成する

  1. フォルダーに次のファイルを配置します。

    • 1 つ以上のアプリ パッケージ (.msix または.appx) またはアプリ バンドル (.msixbundle または .appxbundle)。
    • .appxsym ファイル。 これは、パートナー センターでの クラッシュ分析 に使用されるアプリのパブリック シンボルを含む圧縮された .pdb ファイルです。 このファイルは省略できますが、省略すると、クラッシュ分析やデバッグ情報はアプリで使用できなくなります。
  2. フォルダー内のすべてのファイルを選択し、ファイルを右クリックし、[->に送信] を選択します。

  3. 新しい zip ファイルの拡張子名を .zip から .msixupload または .appxupload に変更します。

アプリ パッケージの検証

アプリをパートナー センターに提出して、ローカル またはリモート コンピューターでの認定を受ける前に検証します。 デバッグ ビルドではなく、アプリ パッケージのリリース ビルドのみを検証できます。 パートナー センターにアプリを提出する方法の詳細については、「 アプリの申請」を参照してください。

アプリ パッケージをローカルで検証する

  1. アプリ パッケージの作成ウィザードの最後の [パッケージの作成が完了しました] ページで、[ローカル コンピューター] オプションを選択したまま、[Windows アプリ認定キットの起動] をクリックします。 Windows アプリ認定キットを使用したアプリのテストの詳細については、「 Windows アプリ認定キット」を参照してください。

    Windows アプリ認定キット (WACK) は、さまざまなテストを実行し、結果を返します。 詳細については、 Windows アプリ認定キットのテスト を参照してください。

    テストに使用するリモート Windows 10 デバイスがある場合は、そのデバイスに Windows アプリ認定キットを手動でインストールする必要があります。 次のセクションでは、これらの手順について説明します。 これを完了したら、 リモート コンピューター を選択し、[ Windows アプリ認定キットの起動 ] をクリックしてリモート デバイスに接続し、検証テストを実行できます。

  2. WACK が完了し、アプリが認定に合格したら、パートナー センターにアプリを提出する準備が整います。 正しいファイルをアップロードしてください。 ファイルの既定の場所は、ソリューション \[AppName]\AppPackages のルート フォルダーにあり、.appxupload または .msixupload ファイル拡張子で終わることになります。 名前は、すべてのパッケージ アーキテクチャが選択されたアプリ バンドルを選択した場合、 [AppName]_[AppVersion]_x86_x64_arm_bundle.appxupload または [AppName]_[AppVersion]_x86_x64_arm_bundle.msixupload の形式になります。

リモート Windows 10 デバイスでアプリ パッケージを検証する

  1. 「デバイスの開発を有効にする」の手順に従って、Windows 10 デバイスを開発用に有効にします

    重要

    Windows 10 のリモート ARM デバイスでアプリ パッケージを検証することはできません。

  2. Visual Studio 用のリモート ツールをダウンロードしてインストールします。 これらのツールは、Windows アプリ認定キットをリモートで実行するために使用されます。 これらのツールのダウンロード場所など、これらのツールの詳細については、「 リモート コンピューターで MSIX アプリケーションを実行する」を参照してください。

  3. 必要な Windows アプリ認定キット をダウンロードし、リモートの Windows 10 デバイスにインストールします。

  4. ウィザードの [ パッケージの作成が完了しました ] ページで、[ リモート コンピューター ] オプション ボタンを選択し、[ テスト接続 ] ボタンの横にある省略記号ボタンを選択します。

    [リモート マシン] オプション ボタンは、検証をサポートするソリューション構成を少なくとも 1 つ選択した場合にのみ使用できます。 WACK を使用したアプリのテストの詳細については、「 Windows アプリ認定キット」を参照してください。

  5. サブネット内のデバイス フォームを指定するか、サブネットの外部にあるデバイスのドメイン ネーム サーバー (DNS) 名または IP アドレスを指定します。

  6. デバイスで Windows 資格情報を使用してログオンする必要がない場合は、[ 認証モード ] の一覧で [ なし] を選択します。

  7. [選択] ボタンを 選択 し、[ Windows アプリ認定キットの起動 ] ボタンを選択します。 リモート ツールがそのデバイスで実行されている場合、Visual Studio はデバイスに接続し、検証テストを実行します。 Windows アプリ認定キットのテストを参照してください。

Microsoft Store 申請の自動化

Visual Studio 2019 以降では、アプリ パッケージの作成ウィザードの最後にある [Windows アプリ認定キット検証後に Microsoft Store に自動的に送信する] オプションを選択することで、生成された .appxupload ファイルを IDE から直接 Microsoft Store に送信できます。 この機能では、アプリの発行に必要なパートナー センター アカウント情報にアクセスするために Azure Active Directory を利用します。 この機能を使用するには、Azure Active Directory をパートナー センター アカウントに関連付け、申請に必要な資格情報をいくつか取得する必要があります。

Azure Active Directory をパートナー センター アカウントに関連付ける

ストアの自動申請に必要な資格情報を取得する前に、まだ行っていない場合は、 まずパートナー センター ダッシュボード で次の手順に従う必要があります。

  1. パートナー センター アカウントを組織の Azure Active Directory に関連付けます。 組織で既に Office 365 または Microsoft の他のビジネス サービスを使用している場合は、Azure AD が既にあります。 それ以外の場合は、パートナー センター内から新しい Azure AD テナントを追加料金なしで作成できます。

  2. パートナー センター アカウントに Azure AD アプリケーションを追加します。 この Azure AD アプリケーションは、デベロッパー センター アカウントの申請にアクセスするために使用するアプリまたはサービスを表します。 このアプリケーションを マネージャー ロールに割り当てる必要があります。 このアプリケーションが Azure AD ディレクトリに既に存在する場合は、[ Azure AD アプリケーションの追加 ] ページでアプリケーションを選択してデベロッパー センター アカウントに追加できます。 それ以外の場合は、[Azure AD アプリケーションの追加] ページで新しい Azure AD アプリケーションを 作成できます。

申請に必要な資格情報を取得する

次に、申請に必要なパートナー センターの資格情報 ( Azure テナント IDクライアント IDクライアント キー) を取得できます。

  1. パートナー センター ダッシュボードに移動し、Azure AD 資格情報でサインインします。

  2. パートナー センター ダッシュボードで、歯車アイコン (ダッシュボードの右上隅付近) を選択し、[ 開発者向け設定] を選択します。

  3. 左側のウィンドウの [設定] メニューで、[ ユーザー] をクリックします。

  4. Azure AD アプリケーションの名前をクリックして、アプリケーションの設定に移動します。 このページで、 テナント IDクライアント ID の値をコピーします。

  5. [ キー ] セクションで、[ 新しいキーの追加] をクリックします。 次の画面で、クライアント シークレットに対応する キー 値をコピーします。 このページを離れた後は、この情報に再度アクセスできなくなりますので、忘れないようにしてください。 詳細については、「 Azure AD アプリケーションのキーの管理」を参照してください。

Visual Studio でストアの自動申請を構成する

前の手順を完了したら、Visual Studio 2019 でストアの自動申請を構成できます。

  1. アプリ パッケージの作成ウィザードの最後で、[Windows アプリ認定キットの検証後に Microsoft Store に自動的に送信する] を選択し、[再構成] をクリックします。

  2. [ Microsoft Store 申請設定の構成 ] ダイアログで、Azure テナント ID、クライアント ID、およびクライアント キーを入力します。

    Microsoft Store 申請の設定を構成する

    重要

    資格情報をプロファイルに保存して、今後の申請で使用することができます

  3. [ OK] をクリックします

提出は WACK テストが完了した後に開始されます。 送信の進行状況は、[ 確認と発行 ] ウィンドウで追跡できます。

進行状況を確認して発行