Windows 8.1 ストア アプリ: デバイスにリソースが必要かどうかにかかわらず、必ずリソースをデバイスにインストールする
アプリ パッケージにさまざまなリソースを含めることで、アプリのインストール時に必要なリソースに関係なく、リソースがすべてのデバイスにアプリと共にインストールされるようにすることができます。たとえば、デバイスのユーザー言語設定と一致する言語だけでなく、複数の言語のユーザー インターフェイス文字列がアプリと共にインストールされるようにすることができます。この方法を使用すると、ユーザーはインターネットに接続しなくても言語設定などの設定を変更できます。また新しい設定に対応する最適なリソースにデバイスを切り替えることができます。
アプリ パッケージにリソースを含めると、アプリのサイズが大きくなります。アプリのサイズを小さくするには、リソース パッケージにリソースを含めて、ユーザーが後でダウンロードできるようにします。ほとんどのアプリでは、リソース パッケージにより、ユーザーは最小限の使用容量で最大限のエクスペリエンスを得られますが、リソース パッケージが適さないアプリもあります。たとえば、多言語辞書や翻訳ツールなど、言語が随時変更されるアプリです。そのようなアプリでは、さまざまなリソースをアプリ パッケージに含めることがあります。
構成ファイルを追加してリソースをアプリ パッケージに含めることができます。また、プロジェクト ファイルを直接編集することに慣れている場合は、ファイルを直接編集してこのタスクを実行できます。
オプション 1: ソリューションに構成ファイルを追加する
ソリューション エクスプローラーでアプリのプロジェクトを右クリックし、[追加] をポイントして、[新しい項目] をクリックします。
[新しい項目の追加] ダイアログ ボックスで [XML ファイル] テンプレートを選択し、ファイルに priconfig.packaging.xml という名前を付けてから、[追加] をクリックします。
ファイルの内容を次の XML に置き換えます。
<packaging> <autoResourcePackage qualifier="Language" /> <autoResourcePackage qualifier="Scale" /> <autoResourcePackage qualifier="DXFeatureLevel" /> </packaging>
リソース パックに含めないリソースのカテゴリを表す XML 行を削除します。次の例は、Language 修飾子が削除された後の priconfig.packaging.xml ファイルの内容を示しています。
<packaging> <autoResourcePackage qualifier="Scale" /> <autoResourcePackage qualifier="DXFeatureLevel" /> </packaging>
この例で、すべての言語リソースは、アプリ バンドルのアプリ パッケージに含まれます。ユーザーはデバイスのユーザー言語設定に関係なくそれらのリソースをダウンロードします。
priconfig.packaging.xml ファイルを保存して閉じます。
Language 修飾子を削除する場合は、priconfig.default.xml という名前の別の XML ファイルをプロジェクトに追加し、そのファイルの内容を次の XML に置き換えます。
<default> <qualifier name="Language" value=Value /> </default>
注意
Scale または DXFeatureLevel 修飾子を削除し、Language 修飾子を削除しない場合は、priconfig.default.xml ファイルをプロジェクトに追加する必要はありません。
Value プレースホルダーを、アプリ パッケージに含める各言語リソースの言語コードに置き換えます。次に示しているのは、Language 修飾子の Value プレースホルダーを言語コードのリストに置き換えた後の XML の例です。
<default> <qualifier name="Language" value=”en;ja;de” /> </default>
ソリューション エクスプローラーで、priconfig.packaging.xml ファイルをクリックします。
[プロパティ] ウィンドウで、プロジェクトの言語に応じて、次のプロパティの値を変更します。
C# および VB プロジェクトの場合は、[ビルド アクション] プロパティを [なし] に設定します。
JavaScript プロジェクトの場合は、[パッケージ アクション] プロパティを [なし] に設定します。
C++ プロジェクトの場合は [コンテンツ] プロパティを [False] に設定します。
priconfig.default.xml ファイルをプロジェクトに追加した場合は、プロジェクトの言語に応じて、そのファイルの [ビルド アクション] プロパティを [なし] に、[パッケージ アクション] プロパティを [なし] に、または [コンテンツ] プロパティを [False] に設定します。
[ビルド] メニューの [ソリューションのビルド] をクリックし、アプリ パッケージを作成します。
アプリ パッケージの作成ウィザードの [パッケージの選択と構成] ページで、パッケージのアプリケーション バンドルの生成を選択します。「Windows 8.1 アプリ パッケージの作成」を参照してください。
メモ帳で ProjectFolder**\obj\**ReleaseConfiguration フォルダーの split.priconfig.xml ファイルを開きます。
削除した修飾子がリソース修飾子の一覧に表示されていないことを確認します。
priconfig.packaging.xml ファイルの名前変更
構成ファイルには必要な任意の名前を付けることができます。ただし、priconfig.packaging xml 以外の名前を付ける場合は、ビルド プロパティをプロジェクト ファイルに追加する必要があります。
ソリューション エクスプローラーで、アプリのプロジェクトを右クリックし、[プロジェクトのアンロード] をクリックします。
プロジェクトを再度右クリックし、[AppName**.csprojの編集**] または [AppName**.vbproj** の編集] をクリックします。
プロジェクト ファイルで、最初の <PropertyGroup> 要素の開始タグと終了タグの間に次の XML 行を追加します。
<AppxPriConfigXmlPackagingSnippetPath>FilePath</AppxPriConfigXmlPackagingSnippetPath>
重要
FilePath を、ファイルの名前を含む構成ファイルへのパスに置き換えます。
プロジェクト ファイルを保存して閉じます。
ソリューション エクスプローラーでプロジェクトを右クリックし、[プロジェクトの再読み込み] をクリックします。
ソリューションをビルドし、パッケージを作成します。
注意
priconfig.default.xml ファイルをプロジェクトに追加した場合は、そのファイルの名前を変更することもできます。そのファイルの名前を変更する方法については、「priconfig.default.xml ファイルの名前変更」を参照してください。
オプション 2: プロジェクト ファイルを変更する (詳細)
アプリのプロジェクト ファイルをメモ帳で開きます。
プロジェクト ファイルで、最初の <PropertyGroup> 要素の開始タグと終了タグの間に次の XML 行を追加します。
<AppxBundleAutoResourcePackageQualifiers>Language|Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
この XML 行から、リソース パックに含めないリソースのカテゴリを削除します。次の例は、Language 修飾子が削除された後の XML 行を示しています。
<AppxBundleAutoResourcePackageQualifiers>Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
この例で、すべての言語のリソースは、アプリ バンドルのアプリ パッケージに含まれます。ユーザーはデバイスの言語設定に関係なくそれらのリソースをダウンロードします。
Language 修飾子を削除する場合は、最初の <PropertyGroup> 要素の開始タグと終了タグの間に次の XML 行を追加します。
<AppxDefaultResourceQualifiers>Language=Value</AppxDefaultResourceQualifiers>
注意
Scale または DXFeatureLevel 修飾子を削除し、Language 修飾子を削除しない場合は、この行を追加する必要はありません。
Value プレースホルダーを、アプリ パッケージに含める各言語リソースの言語コードに置き換えます。次に示しているのは、Language 修飾子の Value プレースホルダーを言語コードのリストに置き換えた後の XML の例です。
<AppxDefaultResourceQualifiers>Language=en;ja;de</AppxDefaultResourceQualifiers>
プロジェクト ファイルを保存して閉じます。次に、Visual Studio でファイルを再読み込みします。
ソリューションをビルドし、アプリ パッケージを作成します。
アプリ パッケージの作成ウィザードの [パッケージの選択と構成] ページで、パッケージのアプリケーション バンドルの生成を選択します。「Windows 8.1 アプリ パッケージの作成」を参照してください。
メモ帳で ProjectFolder**\obj\**ReleaseConfiguration フォルダーの split.priconfig.xml ファイルを開きます。
削除した修飾子がリソース修飾子の一覧に表示されていないことを確認します。
参照
アプリ バンドルの展開
アプリ バンドル
アプリ バンドルを生成するかどうかを決定する
リソース パッケージ
リソース管理システム
アプリ リソースの定義 (C#/VB/C++ と XAML を使用するアプリ)
アプリ リソースの定義 (JavaScript と HTML を使用するアプリ)