[Metro Style] #Win8 #Metro のアプリケーション・パッケージ
Metro スタイル アプリケーションを配布するには、「パッケージ」にまとめます。
Windows Store を通さない場合でも、 パッケージにしなければならないようです。 (xcopy deploy とはいかないらしい。)
パッケージを作るには…
- デジタル証明書が必要。 (テスト用の証明書なら、 Visual Studio で作成できる)
- Windows Store にアップロードする場合と、そうでない場合とで作り方が違う。
- パッケージのファイル名には、日本語は使えない。 収めるファイルにも使わない方が無難。
※ MSDN の次の資料も参照してください。 ⇒ Preparing your app for the Windows Store
◆ デジタル証明書の設定
Visual Studio で Metro スタイル アプリケーションを指定してプロジェクトを作ると、 フォルダ内に Package.appxmanifest というファイルが出来ています。 これをソリューション エクスプローラーから開くと、 その内容を編集する GUI 画面が開きます。 その中の [Packaging] タブで、 デジタル証明書の設定をします。
「Publisher:」 の右の方にある [Choose Certificate...] ボタンで、 「Choose Certificate」 ダイアログが出てきます。
[Configure Certificate...] ドロップダウンで、 デジタル証明書を選択します。
- 正規のデジタル証明書を選択するには、 [Pick from certificate store...]
- テスト用のデジタル証明書を作成するには [Create test certificate...]
※1回作成すれば、 次からは [Pick from certificate store...] で選択できます。
※ Windows Store に開発者として登録すれば、 デジタル証明書も手に入るはずです。 (まだオープンしていないので推測です。 たぶん、 Windows Phone Marketplace と同様でしょう。)
◆ パッケージの作成
ソリューション エクスプローラーでプロジェクトを右クリックし、 コンテキスト メニューから [Store] - [Create App Package...] を選ぶと、 「Build Package」 ダイアログが出てきます。
上を選ぶと、 Windows Store 用のパッケージを作ってアップロードできはずですが、 いまのところまだ Windows Store がオープンしていないため、 先へ進めません。 (なお、 Windows Store へのアカウント登録には Live ID が使われます。)
下を選ぶと、 ローカルで (パッケージを持って行けば、 他の PC でも) インストールするためのパッケージを作成できます。 ウィザードに従って進めていけば、 指定場所 (デフォルトはプロジェクト配下の Packages フォルダ) にパッケージが出来上がります。
.appxupload ファイルは、 Windows Store にアップロードするときに使うもの (…のはず。 なぜローカル用にも作成されるのか不明)。 バージョン番号が付されたサブフォルダに、 ローカル用のパッケージファイルが生成されています。
DbcsNameTest_1.0.0.4_AnyCPU_Debug.appx - パッケージ本体。 正体は zip ファイルで、 実行ファイルや xaml ファイル等が入っています。
DbcsNameTest_1.0.0.4_AnyCPU_Debug.cer - デジタル証明書。
Add-AppxDevPackage.bat - インストール用バッチファイル。
※ ファイル名中の "_Debug" は、 お察しの通り Release ビルドならば無くなります。
これら 3つのファイルを他の PC に持って行き、
1. .cer ファイルを右クリックして [Install Certificate] で、 証明書をインストール。
2. バッチファイルを実行。
という手順で、 インストールすることが出来ます。
◆ 日本語ファイル名
日本語の名前を付けたファイルを入れたパッケージを作り、 出来上がった .appx ファイルの中身を見てみましょう。
プロジェクト内に、 「芸1.xaml」 と 「表1.xmal」 という、 日本語ファイル名を用意しました。 (Shift JIS に直すと、 2バイト目が '|' や '\' になる)
出来上がった .aspx ファイルの拡張子を .zip に変えると、 その中身を見ることができます。
なんと、 日本語ファイル名は、 UTF-8 に変換された上で、 % エンコーディングされているようです。 (jar ファイルではハマったような気がします …気のせいだっけ? f(^^;)
それでは、 バッチファイルを実行してインストールしてみます。
無事にインストールできました! f(^^;
ただし、 インストーラー (バッチファイル) の制限なのか、 OS (Windows 8 DP) が英語版のせいなのかわかりませんが、 バッチファイル実行時にパッケージを置いてあるパスに日本語が入っていると、 失敗します。
一応、 格納するファイルに日本語を使うのは大丈夫そうですが、 このようなことがあるとなると、 避けておいた方が無難だと思います。
| 固定リンク
« [Metro Style] #Win8 #Metro の WinRT と .NET Framework と WinMD と Windows Store と… (ややこしいっ!!) | トップページ | Visual Studio 11 beta は Windows 8 beta と同時リリース! なんと、 TFS に Express 登場!! »
「プログラミング」カテゴリの記事
- 【.NET / Win8.1 ストアアプリ】 HttpClient で TLS 1.1 / 1.2 に対応するには(2018.06.17)
- 【VS2017 15.7pv2】 XAML のランタイム ツールに 「ヒートマップ」 が増えた(2018.03.28)
- 【.NET Core】 プロジェクトを作ると 「project.assets.json が見つかりません」 エラー(2018.02.10)
- 【#UWP】 ビットマップの表示色を変える (Win2D.uwp 経由で Direct2D を使う)(2017.08.23)
- 【#UWP】 CompactOverlay モード: Picture in Picture というか、「最前面に表示」するウィンドウを作る(2017.08.16)
「* プログラミング ( Metro スタイル )」カテゴリの記事
- 【.NET / Win8.1 ストアアプリ】 HttpClient で TLS 1.1 / 1.2 に対応するには(2018.06.17)
- 【VS2017 15.7pv2】 XAML のランタイム ツールに 「ヒートマップ」 が増えた(2018.03.28)
- 【#UWP】 ビットマップの表示色を変える (Win2D.uwp 経由で Direct2D を使う)(2017.08.23)
- 【#UWP】 CompactOverlay モード: Picture in Picture というか、「最前面に表示」するウィンドウを作る(2017.08.16)
- 【#UWP】 15063用の Acrylic Effect を、ちゃんと実装してみる(2017.08.05)
この記事へのコメントは終了しました。
コメント
情報共有ありがとうございました。大変参考になりました
投稿: | 2012年10月25日 (木) 16時38分