デスクトップアプリケーションを Microsoft ストアで公開する part1

ページ作成日 :

環境

Windows
  • Windows 10
Visual Studio
  • Visual Studio 2019

※他のバージョンでも動作しますが未確認です

はじめに

従来Microsoftストアで公開できるアプリケーションは「UWP」形式のみでしたが、「Desktop Bridge」を使用することによって Windows FormやWPF, Win32などで作成したデスクトップアプリケーションもMicrosoftストアで公開できるようになりました。

本記事では比較的簡単な方法でデスクトップアプリケーションを公開するためのパッケージを作成する手順について説明します。

ただし注意点としてパッケージ化してインストールしたアプリケーションは 従来のZIP(EXE)配布やインストーラー形式(MSI)で配布して実行したときの実行環境とは異なりますので、移行したものが100%正常に動作するという保証はありません。 デスクトップアプリケーションをストアで配布しようと考えている方は、必ずパッケージ化した後に動作チェックを行うことをお勧めします。 場合によってはストア向けにプログラムを修正する必要があります。

事前準備

  • 公開するデスクトップアプリケーションをVisual Studioで制作し完了していること
  • Microsoftストアでアプリケーションが公開できるようにアカウント登録を行っていること(Microsoftストアでのアカウント作成は本題ではないのですでに他のアプリを公開できている状態が望ましいです)

パッケージプロジェクトの作成

Visual Studioで作成したデスクトップアプリケーションのプロジェクトを開きます。 ここでは私が制作した2つのデータベースのテーブルレイアウトを同期させることができるツール「TableLayoutSyncer」を例に紹介します。

image

ソリューションで新しいプロジェクトを追加します。

image

テンプレートから「Windows アプリケーション パッケージ プロジェクト」を選択して追加します。 プロジェクト名はなんでもいいですがここでは「Setup」としています。

image

Windows 10のターゲットプラットフォームを選択します。ターゲットバージョンは基本的に最新で問題ありません。 最小バージョンについては使用する機能やライブラリのバージョンに合わせて決定してください。

image

パッケージプロジェクトが追加されます。

image

パッケージプロジェクトの設定

プロジェクトの参照

どのプロジェクトをパッケージに含めるかを設定します。「アプリケーション」を右クリックして「参照の追加」を選択します。

image

含めるプロジェクトを選択します。 EXEのプロジェクトが直接参照しているライブラリプロジェクトについては自動的に参照されるのでチェックする必要はありません。

image

アプリケーションとストアを関連付け

すでにMicrosoftストア側にアカウントがある場合、公開するアプリケーションとストアの情報を紐づけておきます。 パッケージプロジェクトを右クリックして「公開」「アプリケーションをストアと関連付ける」を選択します。

image

「次へ」を選択します。

image

Microsoftストア側にまだアプリケーションの情報を登録していない場合は下の「新しいアプリケーション名を予約」に名前を入れて「予約」ボタンをクリックします。

予約後、またはすでにMicrosoftストア側にアプリケーションの情報を登録している場合は一覧にアプリケーション名が表示されるので その中から紐づけるアプリケーションを選択します。

image

「関連付け」ボタンをクリックします。

image

Package.appxmanifest の編集

公開するアプリケーションの設定を行うための「Package.appxmanifest」を編集します。 中身はUWPアプリケーションを作成する場合とほぼ同じなのでデスクトップ特有の部分だけ書いておきます。

image

アプリケーション

ストアと関連付けていれば「表示名」は同じ名前になっていると思います。

「説明」にアプリケーションの説明を入力します。

「サポートされる回転」はデスクトップアプリケーションなので何もつけなくていいです。

image

ビジュアル資産

Microsoft ストアでは使用者の利用形態に合わせて様々なサイズのアプリ用の画像を用意しておく必要があります。 全てのサイズを用意する必要はありませんが、全て用意するのに必要な数は数十種類にもなります。

とりあえずアプリ用のアイコン画像をひとつ用意しておき「資産ジェネレーター」を使うことによって 必要なサイズを一括で作成することもできます。 ただ必ずしも期待したイメージにならない場合もありますのでその時は個別に画像を調整してください。

image

機能

公開するアプリケーションがどのような機能を使用するかを設定します。

ですがデスクトップアプリケーションでは基本的に機能制約はありませんのでこの項目を設定する意味はありません。

image

宣言

必要であれば設定してください。

image

コンテンツ URI

必要であれば設定してください。

image

パッケージ化

ストアの関連付けを行っている場合はその値が設定されているのでそのまま使用します。

image

設定が終わったら保存します。

パッケージのテスト

パッケージが正常にインストールされて実行できるか確認します。 パッケージプロジェクトを右クリックして「デバッグ」「新しいインスタンスを開始」を選択します。

image

プログラムが正常に動作するか確認します。

image

スタートメニューに登録されているか確認します。

image

パッケージの作成

アプリケーションを公開するためのパッケージを作成します。 パッケージプロジェクトを右クリックして「公開」「アプリ パッケージの作成」を選択します。

image

「<アカウント名>により<アプリケーション名>としてMicrosoftストアに」を選択して「次へ」を選択します。

image

バージョンをアプリケーションに合わせて修正を行います。

アーキテクチャではリリース対象のプラットフォームにチェックを入れておきます。 デスクトップアプリケーションの場合は通常「x86」「x64」にチェックを入れることになります。 Any CPUだとパッケージの作成に失敗する場合があるので、事前にEXEのプロジェクトでx86とx64のアーキテクチャを作成しておきましょう。

ソリューション構成がReleaseになっていることも忘れずに確認しておきます。

image

ビルドが正常に終了したら次の画面が表示されます。

パッケージは「出力場所」に生成されているので後でアップロードするためにリンクをクリックしてエクスプローラーを開いておきます。

今回は初回登録なのでMicrosoft Storeに自動送信はしません。

パッケージとアプリが正常に動作するか確認するために「Windows アプリ認定キットを起動する」のボタンをクリックして動作確認をします。

image

パッケージ出力先にパッケージが作成されていることを確認します。 拡張子が「.appxupload」のファイルをMicrosoftストアに登録することになります。

image

まとめ

ローカル環境で行うパッケージ作成作業は以上となります。 次回はMicrosoftストア側で公開設定を行いたいと思います。