かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

一番簡単な DesktopBridge のやり方(Visual Studio 2017 15.4 の Windows アプリケーション パッケージ プロジェクト)

先日リリースされた Visual Studio 2017 15.4 で追加された Windows アプリケーション パッケージ プロジェクト を使うと手元に exe を出力する形式のプロジェクトがあって xcopy でインストールが終わるような類のアプリケーションを凄く簡単に appx 形式にパッケージングしてくれます!!

これはいい。これまでも Visual Studio を使って appx にパッケージングする方法とかはありましたが…

Visual Studio を使ったアプリのパッケージ化 (デスクトップ ブリッジ) - UWP app developer | Microsoft Docs

これは、楽っちゃぁ楽だけど、まぁ無理やり感というかなんというかという感じでした。

Windows アプリケーション パッケージ プロジェクト

そこで Windows アプリケーション パッケージ プロジェクトです。 こいつは、Windows ユニバーサルのプロジェクトテンプレートの中にひっそりと追加されています。

f:id:okazuki:20171013235142p:plain

プロジェクトを新規作成すると、こんな感じになります。

f:id:okazuki:20171014085412p:plain

あとは、同じソリューションに exe 形式を出力するプロジェクトを追加して、Windows アプリケーション パッケージ プロジェクトの中のアプリケーションに追加します。試しに Visual C++ の Win32 アプリケーションを追加してみました。

f:id:okazuki:20171014090337p:plain

あとは、ビルドして実行すると appx が作られてインストールされて起動してきます。(.NET のアプリだと大丈夫なのかもだけど、C++ なのでターゲットプラットフォームは x86 or x64 を選んでから実行)

ちゃんとデバッガがアタッチされてブレークポイントも止まります。素晴らしい。

f:id:okazuki:20171014090806p:plain

ストア関連の機能も…

ストアのアプリとの紐づけやパッケージの作成ができます。

f:id:okazuki:20171014091156p:plain

Windows アプリ 認定キット(WACK)ももちろんかけることができます。

f:id:okazuki:20171014091353p:plain

まとめ

インストーラーが不要なアプリケーションは大体いけそうな気がしますね。。