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>

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

名前 説明
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>

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

名前 説明
Category 常に windows.fileTypeAssociation です。
Name アプリの一意の 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>

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

名前 説明
Category 常に windows.fileTypeAssociation です。
Name アプリの一意の 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>

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

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

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

名前 説明
Category 常に windows.fileTypeAssociation です。
Name アプリの一意の ID。
UseUrl URL ターゲットから直接ファイルを開くかどうかを示します。 この値が設定されていない場合にアプリで URL を使用してファイルを開こうとすると、まずファイルがローカルにダウンロードされます。
Parameters 省略可能なパラメーター。
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>

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

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

ユーザーが複数のファイルを同時に選択して開いた場合のアプリの動作を定義する

ユーザーが同時に複数のファイルを開いたときに、アプリがどのように動作するかを指定します。

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>

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

名前 説明
Category 常に windows.fileTypeAssociation です。
Name アプリの一意の 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  ]"
            Cutoff="[Cutoff]"
            Treatment="[Treatment]" />
    </FileTypeAssociation>
</Extension>

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

名前 説明
Category 常に windows.fileTypeAssociation です。
Name アプリの一意の ID。
FileType 関連するファイル拡張子。
Clsid アプリのクラス ID。
Cutoff サムネイル画像を使用するサイズの下限。これ以上小さいサイズの場合、サムネイル画像が使用されません。 「サムネイルのキャッシュとサイズ」をご覧ください。
Treatment サムネイル アイコンの外観を定義するサムネイル装飾

<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"
              Cutoff="20x20"
              Treatment="Video Sprockets" />
            </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>

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

名前 説明
Category 常に windows.fileTypeAssociation です。
Name アプリの一意の 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>

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

名前 説明
Category 常に windows.fileTypeAssociation です。
Name アプリの一意の 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>

主な要素と属性の説明

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

名前 説明
Category 常に windows.fileTypeAssociation です。
Name アプリの一意の 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>

さまざまな方法でアプリを起動する

プロトコルを使用してアプリを起動する

プロトコルの関連付けによって、他のプログラムやシステム コンポーネントがパッケージ アプリと相互運用できるようにします。 プロトコルを使用してパッケージ アプリを起動する場合、アプリが適切に動作できるように、特定のパラメーターを指定してアプリのアクティブ化イベント引数に渡すことができます。 パラメーターは、完全に信頼できるパッケージ アプリでのみサポートされています。 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 です。
Name プロトコルの名前。
Parameters アプリアクティブ化するときにイベント引数としてアプリに渡すパラメーターや値のリスト。 変数にファイル パスが含まれる可能性がある場合は、パラメーター値を引用符で囲みます。 これにより、パスにスペースが含まれている場合に発生する問題を回避できます。

<Package
  xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
  IgnorableNamespaces="uap3">
  <Applications>
    <Application>
      <Extensions>
        <uap3:Extension
          Category="windows.protocol">
        <uap3:Protocol
          Name="myapp-cmd"
          Parameters="/p &quot;%1&quot;" />
        </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 です。
Executable エイリアスが呼び出されたときに起動する実行可能ファイルの相対パス。
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">
  ...
  <uap3:Extension
        Category="windows.appExecutionAlias"
        Executable="exes\launcher.exe"
        EntryPoint="Windows.FullTrustApplication">
        <uap3:AppExecutionAlias>
            <desktop:ExecutionAlias Alias="Contoso.exe" />
        </uap3:AppExecutionAlias>
  </uap3:Extension>
...
</Package>

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

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

ユーザーが 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 を呼び出し、プログラムでスタートアップ タスクを有効または無効にすることができます。
Enabled 初めて起動したタスクを有効にするか、無効にするかを指定します。 有効になっているタスクは、(ユーザーが無効にしていない限り) 次回ユーザーがログオンするときに実行されます。
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>

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

ユーザーがアプリに更新プログラムをインストールするときにアプリが開かれている場合、アプリは終了します。

更新の完了後にアプリを再起動する場合は、再開するすべてのプロセスで 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>

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

名前 説明
Category 常に windows.appPrinter です。
DisplayName アプリの印刷先一覧に表示する名前。
Parameters 要求を正しく処理するためにアプリが必要とするパラメーター。

<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>

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

名前 説明
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

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

<xtension 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 アプリのデスクトップ ブリッジのパッケージを作成します。 そのうえで、この拡張機能を UWP アプリのパッケージ ファイルに追加してください。 この拡張機能は、デスクトップ ブリッジ パッケージで実行可能ファイルを開始することを示します。 UWP アプリと Win32 アプリの間でやり取りを行うには、1 つまたは複数のアプリ サービスを設定します。 このシナリオについては詳しくは、こちらをご覧ください。

次のステップ

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

マイクロソフトのチームでは、StackOverflow タグをチェックしています。

この記事に関するフィードバックを送信する

下のコメント セクションをご利用ください。