Windows Phone のアプリケーション マニフェスト ファイル

2012/02/09

各 Windows Phone アプリケーションには、アプリケーション ID、アプリケーションで使用する機能など、アプリケーションに関する詳細情報が入ったマニフェスト ファイルがあります。このトピックでは、アプリケーション マニフェスト ファイルの要素、タグ、および属性を定義します。マニフェスト ファイル名は WMAppManifest.xml です。このファイルは Visual Studio の [ソリューション エクスプローラー] ウィンドウにあるプロジェクトの [プロパティ] フォルダー内か、Windows エクスプローラーを使用して見つかります。

注注:

以下のセクションで示すように、Silverlight アプリケーションと XNA Framework アプリケーションのマニフェスト ファイルは、多少の属性値の違い以外は同じものです。

マニフェスト ファイルの主な用途は次のとおりです。

  • アプリケーションを Windows Phone Marketplace に送信すると、認定プロセスでマニフェスト ファイルの情報が使用され、Windows Phone Marketplace でアプリケーションが正しくフィルター処理され、物理デバイスでアプリケーションが配置、実行されます。

  • マニフェスト ファイルの情報はアプリケーション データベースにメタデータとして保存されます。

このトピックは、次のセクションで構成されています。

アプリケーション マニフェスト ファイルは Visual Studio で生成されます。ファイルは手動で編集しないでください。大部分のシナリオの場合、マニフェスト ファイルを変更するときは、Visual Studio のプロジェクト プロパティ ファイルで値を変更する方法のみ使用します。アプリケーションを Windows Phone Marketplace に送信した後、マニフェスト ファイルの値の一部は自動的に更新されます。たとえば、Author、Publisher、ProductID の各属性、および CAPABILITIES 要素です。

注意点注意:

ファイルの変更により、アプリケーションが不安定になったり、使用不能になったりすることがあります。

マニフェスト ファイルの編集が必要なシナリオとしては、Windows Phone Capability Detection Tool を使用してアプリケーションで使用される機能を確認する場合などがあります。詳細については、「方法: アプリケーションの機能を特定する」を参照してください。

ページのトップへ

次に、Windows Phone アプリケーションのマニフェスト ファイルの例を示します。

<?xml version="1.0" encoding="utf-8"?>

<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.1">

  <App xmlns="" ProductID="{GUID}" Title="[Project Name]" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal"  Author="[Project Name] author" Description="Sample description" Publisher="[Project Name]">
  
    <IconPath IsRelative="true" IsResource="false">ApplicationIcon.jpg</IconPath>

    <Capabilities>
      <Capability Name="ID_CAP_APPOINTMENTS"/>
      <Capability Name="ID_CAP_CAMERA"/>
      <Capability Name="ID_CAP_CONTACTS"/>
      <Capability Name="ID_CAP_GAMERSERVICES"/>
      <Capability Name="ID_CAP_IDENTITY_DEVICE"/>
      <Capability Name="ID_CAP_IDENTITY_USER"/>
      <Capability Name="ID_CAP_ISV_CAMERA"/>
      <Capability Name="ID_CAP_LOCATION"/>
      <Capability Name="ID_CAP_MEDIALIB"/>
      <Capability Name="ID_CAP_MICROPHONE"/>
      <Capability Name="ID_CAP_NETWORKING"/>
      <Capability Name="ID_CAP_PHONEDIALER"/>
      <Capability Name="ID_CAP_PUSH_NOTIFICATION"/>
      <Capability Name="ID_CAP_SENSORS"/>
      <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
      <Capability Name="ID_HW_FRONTCAMERA"/>
    </Capabilities>

    <Tasks>
      <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>

      <ExtendedTask Name="" NavigationPage="" >
        <BackgroundServiceAgent  Name="" Source="" Specifier="" Type=""/>
      </ExtendedTask>
    </Tasks>

    <Tokens>
      <PrimaryToken TokenID="[Project Name]Token" TaskName="_default">
        <TemplateType5>
          <BackgroundImageURI IsRelative="true" IsResource="false">Background.jpg</BackgroundImageURI>
          <Count>0</Count>
          <Title>[Project Name]</Title>
        </TemplateType5>
      </PrimaryToken>
    </Tokens>

    <Extensions>
      <Extension ConsumerID="" ExtensionName="" ExtraFile="" TaskID="" />
    </Extensions>

  </App>
</Deployment>
注注:

前の例で CAPABILITIES 要素はアプリケーションのマニフェスト ファイルのものと一致しないことがあります。詳細については、このトピックの後半の「CAPABILITIES 要素」を参照してください。

ページのトップへ

DEPLOYMENT 要素はルート要素です。Windows Phone アプリケーションを配置するときに、この要素はマニフェスト ファイルでアプリケーションとローカリゼーションに関する情報を提供します。

属性

定義

xmlns

String

XML 名前空間。既定値は http://schemas.microsoft.com/windowsphone/2009/deployment です。

AppPlatformVersion

String

Windows Phone SDK またはプラットフォームのランタイム バイナリのバージョン。既定値は 7.1 です。

ページのトップへ

APP 要素は DEPLOYMENT 要素の子です。製品 ID、バージョン、アプリケーションの種類などの情報を提供します。次の表で APP 要素の属性を定義します。

属性

定義

Author

String

アプリケーションの作成者の名前。

BitsPerPixel

Integer

16 または 32 ビット/ピクセル。

説明

String

アプリケーションの説明。

Genre

String

既定値はプロジェクトの種類によって Apps.Normal または Apps.Game です。

Apps.Normal を使用するアプリケーションは端末のアプリケーション リストに表示されます。Apps.Games を使用するアプリケーションは端末の Games ハブに表示されます。

HasSettings

Boolean

アプリケーションで設定をサポートするかどうかを示します。

HubType

Integer

アプリケーションを Music + Videos ハブの Extras セクションに表示できるようにします。アプリケーション送信前のテストに使用されます。マニフェスト ファイルに手動で入力する必要があります。値 1 はこの機能を有効にします。

IsBeta

Boolean

アプリケーションがベータ アプリケーションであるかどうかを示します。この値はアプリケーション ライセンスに影響します。

ProductID

GUID

既定値はプロジェクトの GUID です (128 ビット)。アプリケーション送信プロセスで、マニフェスト ファイルに新しい製品 ID が挿入されます。

Publisher

String

アプリケーションの発行元。既定値はプロジェクトの名前です。この属性は、プッシュ対応アプリケーションなど、特定の種類のアプリケーションに必要です。

RuntimeType

String

既定値はプロジェクトの種類によって Silverlight または XNA です。

SingleInstanceHost

Boolean

アプリケーションに単一インスタンス ホストがあるかどうかを示します。

Title

String

アプリケーション リストまたは Games ハブに表示されるアプリケーションのタイトル。既定値はプロジェクトの名前です。

Version

バージョン文字列

既定値は 1.0.0.0 です。

xmlns

String

この値は空白のままにできます。

ページのトップへ

ICONPATH 要素は APP 要素の子です。アプリケーション リストに表示されるアプリケーション アイコンの場所を示します。既定のイメージは、Silverlight プロジェクトでは ApplicationIcon.png、XNA Framework ゲームでは PhoneGameThumb.png です。属性は内部のみで使用されます。

ページのトップへ

CAPABILITIES 要素は APP 要素の子です。Windows Phone は機能主導のセキュリティ モデルを備えています。このモデルでユーザーはアプリケーション内の特定の機能にオプトインする必要があります。たとえば、ネットワークベースのサービスを使用する場合、そのサービスの使用がアプリケーションで開示されていないと、ユーザーに追加のローミング料金がかかったり、プッシュ通知の使用で同様にローミング料金がかかったりすることがあります。この機能モデルの主な目標は次のとおりです。

  • 適切な情報開示の確認 - アプリケーション機能にセキュリティ上のリスクがある場合は、ユーザーに通知する必要があります。ユーザーがその機能のアクティブ化を許可するには、オプトインする必要があります。

  • 攻撃を減らす - 機能を使用して、アプリケーションを実行するセキュリティ チェンバーを作成します。セキュリティ チェンバーはインストール時に 1 回作成され、それ以降そのアプリケーションに対して使用されます。次の表に、現在サポートされている機能とその説明を示します。

アプリケーションの開発中、特定の機能を使用する必要がない場合は、そのエントリを削除できます。ただし、必要に応じて機能を使用しないと、アプリケーションでその機能を使おうとするときにアクセス拒否メッセージを伴う UnauthorizedAccessException エラーが発生します。詳細については、「方法: アプリケーションの機能を特定する」を参照してください。

CAPABILITY 要素

CAPABILITY 要素は CAPABILITIES 要素の子です。CAPABILITY 要素には name という属性が 1 つあります。次の表は、name 属性に使用できる値の一覧です。

説明

ID_CAP_APPOINTMENTS

String

予定データにアクセスするアプリケーション。

ID_CAP_CAMERA

String

カメラ機能を使用するアプリケーション。この値は携帯電話会社または OEM でのみ使用できます。アプリケーション開発者はこの値の代わりに ID_CAP_ISV_CAMERA を使用します。

ID_CAP_CONTACTS

String

連絡先データにアクセスするアプリケーション。

ID_CAP_GAMERSERVICES

String

Xbox LIVE API を操作できるアプリケーション。データは Xbox と共有されるため、プライバシーの問題によりこれは開示する必要があります。

ID_CAP_IDENTITY_DEVICE

String

一意のデバイス ID、製造元名、モデル名など、デバイス固有の情報を使用するアプリケーション。

ID_CAP_IDENTITY_USER

String

匿名 LiveID を使用してユーザーを匿名で一意に識別するアプリケーション。

ID_CAP_ISV_CAMERA

String

カメラ機能を使用するアプリケーション。

ID_CAP_LOCATION

String

位置情報サービスにアクセスするアプリケーション。

ID_CAP_MEDIALIB

String

メディア ライブラリにアクセスできるアプリケーション。

ID_CAP_MICROPHONE

String

マイクを使用するアプリケーション。アプリケーションでは、録音の実行を視覚的に示さずに録音できます。

ID_CAP_NETWORKING

String

ネットワーク サービスにアクセスするアプリケーション。端末のローミング時にサービスの課金が発生することがあるため、これは開示する必要があります。

ID_CAP_PHONEDIALER

String

電話をかけることができるアプリケーション。エンド ユーザーに視覚的に示さずに行われることがあります。

ID_CAP_PUSH_NOTIFICATION

String

インターネット サービスからプッシュ通知を受信できるアプリケーション。使用にはローミング料金がかかることがあるため、これは開示する必要があります。

ID_CAP_SENSORS

String

Windows Phone センサーを使用するアプリケーション。

ID_CAP_WEBBROWSERCOMPONENT

String

Web ブラウザー コンポーネントを使用するアプリケーション。スクリプトにはセキュリティ上のリスクがあります。

ID_HW_FRONTCAMERA

String

ハードウェアの前向きカメラを使用するアプリケーション。必要に応じてこの機能を手動で追加する必要があり、この機能は ID_CAP_ISV_CAMERA 機能と組み合わせて使用する必要があります。詳細については、「Windows Phone のカメラと写真の概要」を参照してください。

ページのトップへ

TASKS 要素は APP 要素の子です。この要素は内部でだけ使用します。

属性

説明

名前

String

タスクの名前。既定値は _default です。

NavigationPage

String

タスクの開始時にナビゲートされるアプリケーション内のページです。

EXTENDEDTASKS 要素

EXTENDEDTASKS 要素は TASKS 要素の子であり、BACKGROUNDSERVICEAGENT 要素を含んでいます。この要素ではアプリケーションにより複数のタスクの使用を定義します。拡張されたタスクは開発者が指定します。現在、EXTENDEDTASKS 要素はバックグラウンド タスクの定義にのみ使用できます。

属性

説明

名前

String

タスクの名前。

NavigationPage

String

タスクの開始時にナビゲートされるアプリケーション内のページです。

BACKGROUNDSERVICEAGENT 要素

BACKGROUNDSERVICEAGENT 要素は EXTENDEDTASKS 要素の子です。BACKGROUNDSERVICEAGENT 要素には、アプリケーションで使用されるバックグラウンド サービス エージェントの詳細が含まれます。

属性

説明

名前

String

アセンブリの名前。

Source

String

アセンブリ ソース名。

Specifier

String

AudioPlayerAgent、AudioStreamingAgent、または ScheduledTaskAgent。

String

アセンブリのエントリ ポイントの完全クラス名。

ページのトップへ

TOKENS 要素は APP 要素の子です。各アプリケーションには、ユーザーがスタート画面に固定できるタイルがあります。以下のセクションでは、名前を示し、マニフェスト ファイル内のタイルの要素と属性について説明します。詳細については、「Windows Phone のタイルの概要」を参照してください。

PRIMARYTOKEN 要素

PRIMARYTOKEN 要素は TOKENS 要素の子です。アプリケーションに関連付けられたタイルについて記述します。

属性

説明

TokenID

String

タイルの名前。既定値はプロジェクト名です。

注意点注意:
プライマリ トークンの TokenID を変更する場合、セカンダリ タイルの TokenID と一致させないでください。一致した場合、ユーザーはアプリケーションの更新をインストールできないことがあります。

TaskName

String

ユーザーがタイルをタップしたときに呼び出されるタスクの名前。既定値は _default です。

TEMPLATETYPE5 要素

TEMPLATETYPE5 要素は PRIMARYTOKEN 要素の子です。アプリケーション タイルを制御する既定のテンプレートです。次の表で、TEMPLATETYPE5 要素の子要素について説明します。

要素

説明

BACKGROUNDIMAGEURI

String

タイルのバックグラウンド イメージが入ったローカル リソースまたはリモート リソースの名前。

COUNT

Integer

タイルには 0 ~ 99 の値を表示するカウンターを含めることができます。値が 0 である場合、カウンターはタイルに表示されません。

TITLE

String

タイルに表示されるタイトル。既定値はプロジェクトの名前です。

ページのトップへ

EXTENSIONS 要素は APP 要素の子です。この要素はアプリケーションでサポートしている拡張機能の指定に使用されます。詳細については、「Windows Phone の検索の機能拡張の概要」を参照してください。

EXTENSION 要素

EXTENSION 要素は EXTENSIONS 要素の子です。

属性

説明

ConsumerID

GUID

指定された ProductID を持つコンシューマーによる拡張機能へのアクセスを制限します。すべての検索拡張には同じ値 5B04B775-356B-4AA0-AAF8-6491FFEA5661 が必要です。

ExtensionName

String

拡張機能サポートの種類の識別子。

ExtraFile

String

Extras.xml ファイルの場所を指定します。ファイルは Extensions フォルダーに置く必要があり、ファイル名は Extras.xml にする必要があります。

TaskID

String

呼び出しを指定された TaskID にルーティングします。この属性が指定されていない場合、呼び出しは既定のタスクにルーティングされます。

ページのトップへ

表示: