Windows 10 にパッケージ化されたデスクトップ アプリケーションを統合します。

拡張機能を使用すると、あらかじめ定義された方法で Windows 10 にパッケージ化されたデスクトップ アプリケーションを統合します。

たとえば、ファイアウォールの例外を作成、アプリケーションのファイルの種類の既定のアプリケーションにする、またはアプリのパッケージ バージョンをスタート画面のタイルをポイントする拡張機能を使用します。 拡張機能は、アプリのパッケージ マニフェスト ファイルに XML を追加するだけで使用できます。 コードは必要ありません。

このトピックでは、これらの拡張機能について説明し、拡張機能を使って実行できるタスクについても示します。

ユーザーをアプリに移行する

ユーザーによってパッケージ アプリが使用されるように、移行を促します。

既存のスタート タイルとタスク バー ボタンの参照先をパッケージ アプリに設定する

ユーザーによって、デスクトップ アプリがタスク バーまたはスタート メニューにピン留めされている可能性があります。 これらのショートカットの参照先を新しいパッケージ アプリに変更できます。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3

この拡張機能の要素と属性

<Extension Category="windows.desktopAppMigration">
    <DesktopAppMigration>
        <DesktopApp AumId="[your_app_aumid]" />
        <DesktopApp ShortcutPath="[path]" />
    </DesktopAppMigration>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.desktopAppMigration です。
AumID パッケージ アプリのアプリケーション ユーザー モデル ID。
ShortcutPath アプリのデスクトップ バージョンを起動する .lnk ファイルへのパス。

<Package
  xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="rescap3">
  <Applications>
    <Application>
      <Extensions>
        <rescap3:Extension Category="windows.desktopAppMigration">
          <rescap3:DesktopAppMigration>
            <rescap3:DesktopApp AumId="[your_app_aumid]" />
            <rescap3:DesktopApp ShortcutPath="%USERPROFILE%\Desktop\[my_app].lnk" />
            <rescap3:DesktopApp ShortcutPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\[my_app].lnk" />
            <rescap3:DesktopApp ShortcutPath="%PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\[my_app_folder]\[my_app].lnk"/>
         </rescap3:DesktopAppMigration>
        </rescap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

WPF picture viewer with transition/migration/uninstallation

デスクトップ アプリではなくファイルを開き、パッケージ化されたアプリケーションを作成します。

ユーザーが既定では特定の種類のファイルを開くときに、アプリのデスクトップ バージョンではなく、新しいパッケージ化されたアプリケーションを開くことを確認することができます。

これを行うには、ファイルの関連付けを継承するために、関連付けされている各アプリケーションのプログラム識別子 (ProgID) を指定します。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[AppID]">
         <MigrationProgIds>
            <MigrationProgId>"[ProgID]"</MigrationProgId>
        </MigrationProgIds>
    </FileTypeAssociation>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。 この ID は、ファイルの種類の関連付けによって関連付けられたハッシュ対象のプログラム識別子 (ProgID) を生成するために内部で使用されます。 この ID を使って、アプリの今後のバージョンで変更を管理することができます。
MigrationProgId アプリケーション、コンポーネント、およびファイルの関連付けを継承するデスクトップ アプリケーションのバージョンを記述したプログラム識別子 (ProgID)します。

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:rescap3="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="uap3, rescap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="Contoso">
            <rescap3:MigrationProgIds>
              <rescap3:MigrationProgId>Foo.Bar.1</rescap3:MigrationProgId>
              <rescap3:MigrationProgId>Foo.Bar.2</rescap3:MigrationProgId>
            </rescap3:MigrationProgIds>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

WPF picture viewer with transition/migration/uninstallation

ファイルの種類のセットにパッケージ化されたアプリケーションを関連付ける

パッケージ化されたアプリケーションは、ファイル拡張子に関連付けられていることができます。 ユーザーは、ファイルを右クリックし、プログラムから開く] オプションを選択し、候補の一覧に、アプリケーションが表示されます。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[AppID]">
        <SupportedFileTypes>
            <FileType>"[file extension]"</FileType>
        </SupportedFileTypes>
    </FileTypeAssociation>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。 この ID は、ファイルの種類の関連付けによって関連付けられたハッシュ対象のプログラム識別子 (ProgID) を生成するために内部で使用されます。 この ID を使って、アプリの今後のバージョンで変更を管理することができます。
FileType アプリでサポートされているファイル拡張子。

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="Contoso">
            <uap:SupportedFileTypes>
            <uap:FileType>.txt</uap:FileType>
            <uap:FileType>.avi</uap:FileType>
            </uap:SupportedFileTypes>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

WPF picture viewer with transition/migration/uninstallation

特定の種類のファイルのコンテキスト メニューにオプションを追加する

ほとんどの場合、ユーザーはファイルをダブルクリックして開きます。 ユーザーがファイルを右クリックすると、さまざまなオプションが表示されます。

このメニューには、オプションを追加できます。 これらのオプションを使用すると、ファイルの印刷、編集、プレビューなど、ファイルの操作を別の方法で行うことができます。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[AppID]">
        <SupportedVerbs>
           <Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
        </SupportedVerbs>
    </FileTypeAssociation>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。
Verb エクスプローラーのコンテキスト メニューに表示される名前です。 この文字列は、ms-resource を使用してローカライズできます。
Id 動詞の一意の ID。 アプリが UWP アプリの場合は、ユーザーの選択内容を適切に処理できるようにアクティブ化イベント引数の一部としてアプリに渡されます。 アプリが完全に信頼できるパッケージ アプリの場合は、パラメーターを受け取ります (次の項目をご覧ください)。
パラメーター 動詞に関連付けられている引数のパラメーターと値のリスト。 アプリが完全に信頼できるパッケージ アプリの場合は、アプリケーションがアクティブ化されるときに、これらのパラメーターがイベント引数としてアプリケーションに渡されます。 さまざまなアクティブ化の動詞に基づいて、アプリケーションの動作をカスタマイズすることができます。 変数にファイル パスが含まれる可能性がある場合は、パラメーター値を引用符で囲みます。 これにより、パスにスペースが含まれている場合に発生する問題を回避できます。 アプリが UWP アプリの場合は、パラメーターを渡すことはできません。 アプリは、代わりに ID を受け取ります (前の項目を参照してください)。
Extended ユーザーが Shift キーを押しながらファイルを右クリックすることでコンテキスト メニューを表示した場合にのみ表示される動詞を指定します。 この属性は省略可能であり、指定されていない場合の既定値は False (常に動詞を表示する) です。 この動作は各動詞について個別に指定します ("開く" は例外で、常に False)。

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"

  IgnorableNamespaces="uap, uap2, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="Contoso">
            <uap2:SupportedVerbs>
              <uap3:Verb Id="Edit" Parameters="/e &quot;%1&quot;">Edit</uap3:Verb>
              <uap3:Verb Id="Print" Extended="true" Parameters="/p &quot;%1&quot;">Print</uap3:Verb>
            </uap2:SupportedVerbs>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

WPF picture viewer with transition/migration/uninstallation

URL を使用して特定の種類のファイルを直接開く

ユーザーが既定では特定の種類のファイルを開くときに、アプリのデスクトップ バージョンではなく、新しいパッケージ化されたアプリケーションを開くことを確認することができます。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[AppID]" UseUrl="true" Parameters="%1">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
    </FileTypeAssociation>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
カテゴリ 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。
UseUrl URL ターゲットから直接ファイルを開くかどうかを示します。 この値を設定しない場合は、システムを使って URL 原因、最初のダウンロード ファイルをローカル ファイルを開くアプリケーションでしようとします。
パラメーター 省略可能なパラメーター。
FileType 関連するファイル拡張子。

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap3">
  <Applications>
      <Application>
        <Extensions>
          <uap:Extension Category="windows.fileTypeAssociation">
            <uap3:FileTypeAssociation Name="documenttypes" UseUrl="true" Parameters="%1">
              <uap:SupportedFileTypes>
                <uap:FileType>.txt</uap:FileType>
                <uap:FileType>.doc</uap:FileType>
              </uap:SupportedFileTypes>
            </uap3:FileTypeAssociation>
          </uap:Extension>
        </Extensions>
      </Application>
    </Applications>
</Package>

セットアップ タスクを実行する

アプリのファイアウォール例外を作成する

アプリケーションは、ポート経由で通信を必要とする場合は、ファイアウォールの例外の一覧にアプリを追加できます。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

この拡張機能の要素と属性

<Extension Category="windows.firewallRules">
  <FirewallRules Executable="[executable file name]">
    <Rule
      Direction="[Direction]"
      IPProtocol="[Protocol]"
      LocalPortMin="[LocalPortMin]"
      LocalPortMax="LocalPortMax"
      RemotePortMin="RemotePortMin"
      RemotePortMax="RemotePortMax"
      Profile="[Profile]"/>
  </FirewallRules>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.firewallRules
Executable ファイアウォールの例外の一覧に追加する実行可能ファイルの名前。
Direction 規則が受信規則か送信規則かを示します。
IPProtocol 通信プロトコル。
LocalPortMin ローカル ポート番号の範囲を示すポート番号の下限。
LocalPortMax ローカル ポート番号の範囲を示すポート番号の上限。
RemotePortMax リモート ポート番号の範囲を示すポート番号の下限。
RemotePortMax リモート ポート番号の範囲を示すポート番号の上限。
Profile ネットワークの種類。

<Package
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="desktop2">
  <Extensions>
    <desktop2:Extension Category="windows.firewallRules">
      <desktop2:FirewallRules Executable="Contoso.exe">
          <desktop2:Rule Direction="in" IPProtocol="TCP" Profile="all"/>
          <desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="domain"/>
          <desktop2:Rule Direction="in" IPProtocol="UDP" LocalPortMin="1337" LocalPortMax="1338" Profile="public"/>
          <desktop2:Rule Direction="out" IPProtocol="UDP" LocalPortMin="1339" LocalPortMax="1340" RemotePortMin="15"
                         RemotePortMax="19" Profile="domainAndPrivate"/>
          <desktop2:Rule Direction="out" IPProtocol="GRE" Profile="private"/>
      </desktop2:FirewallRules>
  </desktop2:Extension>
</Extensions>
</Package>

DLL ファイルをパッケージの任意のフォルダーに配置します。

拡張機能を使ってそれらのフォルダーを指定します。 これにより、システムは配置したファイルを見つけて読み込むことができます。 この拡張機能は、%PATH% 環境変数の置き換えと考えてください。

この拡張機能を使わない場合、システムはプロセスのパッケージの依存関係グラフ、パッケージ ルート フォルダー、システム ディレクトリ (%SystemRoot%\system32) の順で検索します。 詳しくは、Windows アプリの検索順序に関するページをご覧ください。

各パッケージには、これらの拡張機能を 1 つだけ含めることができます。 つまり、1 つをメイン パッケージに追加し、他の拡張機能はオプション パッケージと関連するセットそれぞれに 1 つずつ追加できます。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/uap/windows10/6

この拡張機能の要素と属性

アプリケーション マニフェストのパッケージ レベルでこの拡張機能を宣言します。

<Extension Category="windows.loaderSearchPathOverride">
  <LoaderSearchPathOverride>
    <LoaderSearchPathEntry FolderPath="[path]"/>
  </LoaderSearchPathOverride>
</Extension>

名前 説明
カテゴリ 常に windows.loaderSearchPathOverride です。
FolderPath dll ファイルが含まれているフォルダーのパス。 パッケージのルート フォルダーの相対パスを指定します。 1 つの拡張機能で最大 5 つのパスを指定できます。 システムがパッケージのルート フォルダーにあるファイルを検索するようにする場合、これらのパスのいずれかに空の文字列を使用します。 重複するパスを含めないでください。パスの先頭と末尾にスラッシュや円記号を使わないでください。

システムはサブフォルダーを検索しないため、システムが読み込む DLL ファイルが含まれている各フォルダーを明示的に一覧表示してください。

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/6"
  IgnorableNamespaces="uap6">
  ...
    <Extensions>
      <uap6:Extension Category="windows.loaderSearchPathOverride">
        <uap6:LoaderSearchPathOverride>
          <uap6:LoaderSearchPathEntry FolderPath=""/>
          <uap6:LoaderSearchPathEntry FolderPath="folder1/subfolder1"/>
          <uap6:LoaderSearchPathEntry FolderPath="folder2/subfolder2"/>
        </uap6:LoaderSearchPathOverride>
      </uap6:Extension>
    </Extensions>
...
</Package>

エクスプローラーに統合する

ユーザーが慣れた方法でファイルを整理し操作できるようになります。

ユーザーが選択し、同時に複数のファイルを開くときに、アプリケーションの動作を定義します。

ユーザーが同時に複数のファイルを開いたときに、アプリケーションの動作を指定します。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[AppID]" MultiSelectModel="[SelectionModel]">
        <SupportedVerbs>
            <Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
        </SupportedVerbs>
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
カテゴリ 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。
MultiSelectModel 下を参照
FileType 関連するファイル拡張子。

MultSelectModel

パッケージ デスクトップ アプリには、通常のデスクトップ アプリと同じ 3 つのオプションがあります。

  • Player: アプリケーションは、1 回アクティブ化されます。 すべての選択したファイルは、引数パラメーターとして、アプリケーションに渡されます。
  • Single: アプリケーションは、最初に選択したファイルに 1 回アクティブ化されます。 その他のファイルは無視されます。
  • Document選択された各ファイルについては、アプリケーションの: 新しい別のインスタンスがアクティブ化します。

ファイルの種類やアクションごとに、さまざまな環境設定項目を設定できます。 たとえば、DocumentsDocument モードで開き、ImagesPlayer モードで開くことができます。

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap, uap2, uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="myapp" MultiSelectModel="Document">
            <uap2:SupportedVerbs>
              <uap3:Verb Id="Edit" MultiSelectModel="Player">Edit</uap3:Verb>
              <uap3:Verb Id="Preview" MultiSelectModel="Document">Preview</uap3:Verb>
            </uap2:SupportedVerbs>
            <uap:SupportedFileTypes>
              <uap:FileType>.txt</uap:FileType>
            </uap:SupportedFileTypes>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

ユーザーが 15 個以下のファイルを開いた場合、MultiSelectModel 属性の既定値は Player になります。 それ以外の場合、既定値は Document です。 UWP アプリは常に Player として起動されます。

エクスプ ローラーでサムネイル画像のファイル内容を表示する

ファイルが中アイコン、大アイコン、特大アイコンで表示された場合に、ファイル内容のサムネイル画像をユーザーが確認できるようにします。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[AppID]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <ThumbnailHandler
            Clsid  ="[Clsid  ]" />
    </FileTypeAssociation>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。
FileType 関連するファイル拡張子。
Clsid アプリのクラス ID。

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap2, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="Contoso">
            <uap2:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap2:SupportedFileTypes>
            <desktop2:ThumbnailHandler
              Clsid  ="20000000-0000-0000-0000-000000000001"  />
            </uap3:FileTypeAssociation>
         </uap::Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

エクスプローラーのプレビュー ウィンドウにファイル内容を表示する

エクスプローラーのプレビュー ウィンドウで、ユーザーがファイルの内容をプレビューできるようにします。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[AppID]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <DesktopPreviewHandler Clsid  ="[Clsid  ]" />
    </FileTypeAssociation>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。
FileType 関連するファイル拡張子。
Clsid アプリのクラス ID。

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap2, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="Contoso">
            <uap2SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
                </uap2SupportedFileTypes>
              <desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
           </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

ユーザーがエクスプローラーの [種類] 列を使用してファイルをグループ化できるようにする

ファイルの種類に関する 1 つまたは複数の定義済みの値を Kind フィールドに関連付けることができます。

ユーザーはエクスプローラーでこのフィールドを使用して、ファイルをグループ化できます。 また、このフィールドは、システム コンポーネントによって、インデックス作成などのさまざまな目的にも使用されます。

Kind フィールドの詳細と、このフィールドに使用できる値については、「種類名の使用」をご覧ください。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.fileTypeAssociation">
    <FileTypeAssociation Name="[AppID]">
        <SupportedFileTypes>
            <FileType>"[FileExtension]"</FileType>
        </SupportedFileTypes>
        <KindMap>
            <Kind value="[KindValue]">
        </KindMap>
    </FileTypeAssociation>
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。
FileType 関連するファイル拡張子。
value 有効な Kind 値

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3"
  IgnorableNamespaces="uap, rescap">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
           <uap:FileTypeAssociation Name="Contoso">
             <uap:SupportedFileTypes>
               <uap:FileType>.m4a</uap:FileType>
               <uap:FileType>.mta</uap:FileType>
             </uap:SupportedFileTypes>
             <rescap:KindMap>
               <rescap:Kind value="Item">
               <rescap:Kind value="Communications">
               <rescap:Kind value="Task">
             </rescap:KindMap>
          </uap:FileTypeAssociation>
      </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

ファイルのプロパティを検索、インデックス、プロパティ ダイアログ、詳細ウィンドウに利用できるようにする

XML 名前空間

この拡張機能の要素と属性

<uap:Extension Category="windows.fileTypeAssociation">
    <uap:FileTypeAssociation Name="[AppID]">
        <SupportedFileTypes>
            <FileType>.bar</FileType>
        </SupportedFileTypes>
        <DesktopPropertyHandler Clsid ="[Clsid]"/>
    </uap:FileTypeAssociation>
</uap:Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.fileTypeAssociation です。
名前 アプリの一意の ID。
FileType 関連するファイル拡張子。
Clsid アプリのクラス ID。

<Package
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="uap, uap3, desktop2">
  <Applications>
    <Application>
      <Extensions>
        <uap:Extension Category="windows.fileTypeAssociation">
          <uap3:FileTypeAssociation Name="Contoso">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap:SupportedFileTypes>
            <desktop2:DesktopPropertyHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

クラウド サービスのファイルがエクスプローラーに表示されるようにする

アプリに実装するハンドラーを登録する ユーザーがエクスプローラーでクラウド ベースのファイルを右クリックしたときに表示されるコンテキスト メニュー オプションを追加することもできます。

XML 名前空間

この拡張機能の要素と属性

<Extension Category="windows.cloudfiles" >
    <CloudFiles IconResource="[Icon]">
        <CustomStateHandler Clsid ="[Clsid]"/>
        <ThumbnailProviderHandler Clsid ="[Clsid]"/>
        <ExtendedPropertyhandler Clsid ="[Clsid]"/>
        <CloudFilesContextMenus>
            <Verb Id ="Command3" Clsid= "[GUID]">[Verb Label]</Verb>
        </CloudFilesContextMenus>
    </CloudFiles>
</Extension>

名前 説明
Category 常に windows.cloudfiles です。
iconResource クラウド ファイル プロバイダー サービスを表すアイコン。 このアイコンは、エクスプローラーのナビゲーション ウィンドウに表示されます。 ユーザーは、このアイコンを選んでクラウド サービスのファイルを表示します。
CustomStateHandler Clsid CustomStateHandler を実装するアプリケーションのクラス ID。 システムは、このクラス ID を使ってクラウド ファイルのカスタム状態と列を要求します。
ThumbnailProviderHandler Clsid ThumbnailProviderHandler を実装するアプリケーションのクラス ID。 システムは、このクラス ID を使ってクラウド ファイルの縮小版イメージを要求します。
ExtendedPropertyHandler Clsid ExtendedPropertyHandler を実装するアプリケーションのクラス ID。 システムは、このクラス ID を使ってクラウド ファイルの拡張プロパティを要求します。
動詞 クラウド サービスによって提供されるファイルのエクスプローラー コンテキスト メニューに表示される名前です。
Id 動詞の一意の ID。

<Package
    xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
    IgnorableNamespaces="desktop">
  <Applications>
    <Application>
      <Extensions>
        <Extension Category="windows.cloudfiles" >
            <CloudFiles IconResource="images\Wide310x150Logo.png">
                <CustomStateHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <ThumbnailProviderHandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <ExtendedPropertyhandler Clsid ="20000000-0000-0000-0000-000000000001"/>
                <desktop:CloudFilesContextMenus>
                    <desktop:Verb Id ="keep" Clsid=
                       "20000000-0000-0000-0000-000000000001">
                       Always keep on this device</desktop:Verb>
                </desktop:CloudFilesContextMenus>
            </CloudFiles>
          </Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

さまざまな方法でアプリケーションを起動します。

プロトコルを使用して、アプリケーションを起動します。

プロトコルの関連付けによって、他のプログラムやシステム コンポーネントがパッケージ アプリと相互運用できるようにします。 プロトコルを使用して、パッケージ化されたアプリケーションを起動するときは、特定が適切に動作できるように、アクティブ化イベント引数に渡すパラメーターを指定できます。 パラメーターは、完全に信頼できるパッケージ アプリでのみサポートされています。 UWP アプリでは、パラメーターを使用できません。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/uap/windows10/3

この拡張機能の要素と属性

<Extension
    Category="windows.protocol">
  <Protocol
      Name="[Protocol name]"
      Parameters="[Parameters]" />
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

名前 説明
Category 常に windows.protocol です。
名前 プロトコルの名前。
パラメーター パラメーターと、アプリケーションがアクティブ化されるときに、イベント引数として、アプリケーションに渡す値の一覧。 変数にファイル パスが含まれる可能性がある場合は、パラメーター値を引用符で囲みます。 これにより、パスにスペースが含まれている場合に発生する問題を回避できます。

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap3">
  <Applications>
    <Application>
      <Extensions>
         <uap3:Extension
                Category="windows.appExecutionAlias"
                Executable="exes\launcher.exe"
                EntryPoint="Windows.FullTrustApplication">
            <uap3:AppExecutionAlias>
                <desktop:ExecutionAlias Alias="Contoso.exe" />
            </uap3:AppExecutionAlias>
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

エイリアスを使用して、アプリケーションを起動します。

ユーザーおよびその他のプロセスは、エイリアスを使用して、アプリへの完全パスを指定することがなく、アプリケーションを起動します。 そのエイリアス名を指定できます。

XML 名前空間

この拡張機能の要素と属性

<Extension
    Category="windows.appExecutionAlias"
    Executable="[ExecutableName]"
    EntryPoint="Windows.FullTrustApplication">
    <AppExecutionAlias>
        <desktop:ExecutionAlias Alias="[AliasName]" />
    </AppExecutionAlias>
</Extension>
名前 説明
Category 常に windows.appExecutionAlias です。
実行可能ファイル エイリアスが呼び出されたときに起動する実行可能ファイルの相対パス。
Alias アプリの短い名前。 常に、拡張子 ".exe" で終わっている必要があります。 パッケージ内のアプリケーションごとにアプリの実行エイリアスは 1 つだけ指定できます。 複数のアプリで同じエイリアスが登録されている場合、システムは最後に登録されたアプリを呼び出します。したがって、他のアプリが上書きする可能性が低い一意のエイリアスを選んでください。

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="uap3, desktop">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension
          Category="windows.protocol">
          <uap3:Protocol
            Name="myapp-cmd"
            Parameters="/p &quot;%1&quot;" />
        </uap3:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>
 
...
</Package>

完全なスキーマ リファレンスについては、こちらをご覧ください。

ユーザーが Windows にログオンしたときに実行可能ファイルを起動する

スタートアップ タスクは、ユーザーがログオンするたびに、実行可能ファイルを自動的に実行するアプリケーションを許可します。

注意

ユーザーは、アプリケーションを起動、少なくとも 1 回このスタートアップ タスクを登録します。

アプリケーションは、複数のスタートアップ タスクを宣言できます。 各タスクは独立して起動されます。 すべてのスタートアップ タスクは、タスク マネージャーの [スタートアップ] タブに、アプリのマニフェストで指定した名前とアプリのアイコンを使って表示されます。 タスク マネージャーによって、タスクの起動への影響が自動的に分析されます。

ユーザーは、タスク マネージャーを使用して、アプリのスタートアップ タスクを手動で無効にすることができます。 ユーザーがタスクを無効にした場合、プログラムでタスクを再度有効にすることはできません。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/desktop/windows10

この拡張機能の要素と属性

<Extension
    Category="windows.startupTask"
    Executable="[ExecutableName]"
    EntryPoint="Windows.FullTrustApplication">
  <StartupTask
      TaskId="[TaskID]"
      Enabled="true"
      DisplayName="[DisplayName]" />
</Extension>
名前 説明
Category 常に windows.startupTask です。
Executable 起動する実行可能ファイルへの相対パス。
TaskId タスクの一意の識別子。 この識別子を使用して、アプリケーションをプログラムで有効にするか、スタートアップ タスクを無効にするWindows.ApplicationModel.StartupTaskクラスで Api を呼び出すことができます。
有効 初めて起動したタスクを有効にするか、無効にするかを指定します。 有効になっているタスクは、(ユーザーが無効にしていない限り) 次回ユーザーがログオンするときに実行されます。
DisplayName タスク マネージャーに表示されるタスクの名前。 この文字列は、ms-resource を使用してローカライズできます。

<Package
  xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
  IgnorableNamespaces="desktop">
  <Applications>
    <Application>
      <Extensions>
        <desktop:Extension
          Category="windows.startupTask"
          Executable="bin\MyStartupTask.exe"
          EntryPoint="Windows.FullTrustApplication">
        <desktop:StartupTask
          TaskId="MyStartupTask"
          Enabled="true"
          DisplayName="My App Service" />
        </desktop:Extension>
      </Extensions>
    </Application>
  </Applications>
 </Package>

デバイスを自分の PC に接続するときに、アプリケーションを起動できるようにします。

自動再生は、ユーザーがデバイスを自分の PC に接続するときにオプションとして、アプリケーションを表示できます。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/desktop/windows10/3

この拡張機能の要素と属性

<Extension Category="windows.autoPlayHandler">
  <AutoPlayHandler>
    <InvokeAction ActionDisplayName="[action string]" ProviderDisplayName="[name of your app/service]">
      <Content ContentEvent="[Content event]" Verb="[any string]" DropTargetHandler="[Clsid]" />
      <Content ContentEvent="[Content event]" Verb="[any string]" Parameters="[Initialization parameter]"/>
      <Device DeviceEvent="[Device event]" HWEventHandler="[Clsid]" InitCmdLine="[Initialization parameter]"/>
    </InvokeAction>
  </AutoPlayHandler>
名前 説明
Category 常に windows.autoPlayHandler です。
ActionDisplayName ユーザーが PC に接続したときにデバイスで実行できるアクションを表す文字列 (例: "ファイルのインポート" や "ビデオの再生")。
ProviderDisplayName アプリケーションまたはサービスを表す文字列 (例:「Contoso ビデオ プレーヤー」)。
ContentEvent ユーザーに ActionDisplayNameProviderDisplayName をプロンプト表示する原因となるコンテンツ イベントの名前。 コンテンツ イベントは、カメラのメモリ カード、サム ドライブ、DVD などのボリューム デバイスが PC に挿入されたときに発生します。 これらのイベントの詳しい一覧については、ここをご覧ください。
動詞 [動詞] 設定は、選択したオプションのアプリケーションに渡される値を指定します。 自動再生のイベントの起動アクションは複数指定できます。また、[動詞] 設定を使って、ユーザーがアプリで選んだアクションを確認できます。 アプリに渡される起動イベント引数の verb プロパティを調べることでユーザーが選んだオプションを確認できます。 [動詞] 設定には任意の値を使うことができます。ただし、予約されている open を除きます。
DropTargetHandler IDropTargetインターフェイスを実装するアプリケーションのクラス ID。 リムーバブル メディアのファイルは、IDropTarget 実装の Drop メソッドに渡されます。
パラメーター すべてのコンテンツ イベントで IDropTarget インターフェイスを実装する必要はありません。 どのコンテンツ イベントにも、IDropTarget インターフェイスを実装する代わりにコマンド ライン パラメーターを指定することができます。 これらのイベントでは、自動再生がこれらのコマンド ライン パラメーターを使用してアプリケーションを起動します。 アプリの初期化コードでそれらのパラメーターを解析して、自動再生によって起動したかどうかを判断し、カスタム実装を提供することができます。
DeviceEvent ユーザーに ActionDisplayNameProviderDisplayName をプロンプト表示する原因となるデバイス イベントの名前。 デバイス イベントは、デバイスが PC に接続されると発生します。 デバイス イベントの先頭は文字列 WPD です。一覧についてはここをご覧ください。
HWEventHandler IHWEventHandlerインターフェイスを実装するアプリケーションのクラス ID。
InitCmdLine IHWEventHandler インターフェイスの Initialize メソッドに渡す文字列パラメーター。

<Package
  xmlns:desktop3="http://schemas.microsoft.com/appx/manifest/desktop/windows10/3"
  IgnorableNamespaces="desktop3">
  <Applications>
    <Application>
      <Extensions>
        <desktop3:Extension Category="windows.autoPlayHandler">
          <desktop3:AutoPlayHandler>
            <desktop3:InvokeAction ActionDisplayName="Import my files" ProviderDisplayName="ms-resource:AutoPlayDisplayName">
              <desktop3:Content ContentEvent="ShowPicturesOnArrival" Verb="show" DropTargetHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8"/>
              <desktop3:Content ContentEvent="PlayVideoFilesOnArrival" Verb="play" Parameters="%1" />
              <desktop3:Device DeviceEvent="WPD\ImageSource" HWEventHandler="CD041BAE-0DEA-4472-9B7B-C98043D26EA8" InitCmdLine="/autoplay"/>
            </desktop3:InvokeAction>
          </desktop3:AutoPlayHandler>
      </Extensions>
    </Application>
  </Applications>
</Package>

Microsoft Store から更新プログラムを受信した後、自動的に再起動する

ユーザーを更新プログラムをインストールするときに、アプリケーションが開いている場合は、アプリケーションを閉じます。

更新の完了後に再起動するようにアプリケーションを設定する場合は、再起動するすべてのプロセスで、 RegisterApplicationRestart関数を呼び出します。

アプリケーションの各アクティブ ウィンドウがWM_QUERYENDSESSIONメッセージを受信します。 この時点で、アプリケーションでは、必要な場合は、コマンド ラインを更新するには、もう一度RegisterApplicationRestart関数を呼び出すことができます。

アプリケーションの各アクティブ ウィンドウでは、 WM_ENDSESSIONメッセージを受信したとき、アプリケーションする必要がありますデータを保存してシャット ダウンします。

注意

アプリケーションがWM_ENDSESSIONメッセージを処理しない場合にもWM_CLOSEメッセージは表示アクティブ ウィンドウ。

この時点で、アプリケーション 30 秒間、独自のプロセスを終了するか、または終了しなければ、プラットフォームです。

更新が完了したら、アプリを再起動します。

他のアプリケーションと連携する

他のアプリとの統合、他のプロセスの開始、情報の共有が可能です。

印刷をサポートするアプリケーションで印刷先として表示される、アプリケーションを作成します。

ユーザーは、メモ帳など別のアプリケーションからデータを印刷する場合、利用できる印刷先のアプリの一覧で印刷先として表示されるアプリケーションを行うことができます。

XML Paper Specification (XPS) 形式で印刷データを受信できるように、アプリケーションを変更する必要があります。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

この拡張機能の要素と属性

<Extension Category="windows.appPrinter">
    <AppPrinter
        DisplayName="[DisplayName]"
        Parameters="[Parameters]" />
</Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.appPrinter です。
DisplayName アプリの印刷先一覧に表示する名前。
パラメーター アプリケーションが要求を適切に処理に必要とするパラメーター。

<Package
  xmlns:desktop2="http://schemas.microsoft.com/appx/manifest/desktop/windows10/2"
  IgnorableNamespaces="desktop2">
  <Applications>
  <Application>
    <Extensions>
      <desktop2:Extension Category="windows.appPrinter">
        <desktop2:AppPrinter
          DisplayName="Send to Contoso"
          Parameters="/insertdoc %1" />
      </desktop2:Extension>
    </Extensions>
  </Application>
</Applications>
</Package>

この拡張機能を使用するサンプルについては、こちらをご覧ください。

他の Windows アプリケーションとフォントを共有する

他の Windows アプリケーションとカスタム フォントを共有できます。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/desktop/windows10/2

この拡張機能の要素と属性

<Extension Category="windows.sharedFonts">
    <SharedFonts>
      <Font File="[FontFile]" />
    </SharedFonts>
  </Extension>

完全なスキーマ リファレンスについては、こちらをご覧ください。

Name 説明
Category 常に windows.sharedFonts です。
File 共有するフォントが格納されたファイル。

<Package
  xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
  IgnorableNamespaces="uap4">
  <Applications>
    <Application>
      <Extensions>
        <uap4:Extension Category="windows.sharedFonts">
          <uap4:SharedFonts>
            <uap4:Font File="Fonts\JustRealize.ttf" />
            <uap4:Font File="Fonts\JustRealizeBold.ttf" />
          </uap4:SharedFonts>
        </uap4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

ユニバーサル Windows プラットフォーム (UWP) アプリから Win32 プロセスを開始する

完全信頼で実行される Win32 プロセスを開始します。

XML 名前空間

http://schemas.microsoft.com/appx/manifest/desktop/windows10

この拡張機能の要素と属性

<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
  <FullTrustProcess>
    <ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
  </FullTrustProcess>
</Extension>
名前 説明
Category 常に windows.fullTrustProcess です。
GroupID 実行可能ファイルに渡すパラメーターのセットを識別するための文字列。
Parameters 実行可能ファイルに渡すパラメーター。

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
         xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
         xmlns:rescap=
"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
         xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
  ...
  <Capabilities>
      <rescap:Capability Name="runFullTrust"/>
  </Capabilities>
  <Applications>
    <Application>
      <Extensions>
          <desktop:Extension Category="windows.fullTrustProcess" Executable="fulltrustprocess.exe">
              <desktop:FullTrustProcess>
                  <desktop:ParameterGroup GroupId="SyncGroup" Parameters="/Sync"/>
                  <desktop:ParameterGroup GroupId="OtherGroup" Parameters="/Other"/>
              </desktop:FullTrustProcess>
           </desktop:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

この拡張機能は、すべてのデバイスで実行できるユニバーサル Windows プラットフォームのユーザー インターフェイスを作成する場合に便利ですかもしれませんが、完全信頼で実行を続ける、Win32 アプリケーションのコンポーネントをします。

だけ、Win32 アプリの Windows アプリ パッケージを作成します。 そのうえで、この拡張機能を UWP アプリのパッケージ ファイルに追加してください。 この拡張機能は、Windows アプリ パッケージで実行可能ファイルを起動することを示します。 UWP アプリと Win32 アプリの間でやり取りを行うには、1 つまたは複数のアプリ サービスを設定します。 このシナリオについては詳しくは、こちらをご覧ください。

次のステップ

質問に対する回答を見つける

ご質問がある場合は、 Stack Overflow でお問い合わせください。 Microsoft のチームでは、これらのタグをチェックしています。 こちらから質問することもできます。

フィードバックの提供または機能の提案を行う

UserVoice のページをご覧ください。