パッケージ拡張機能を使用してデスクトップ アプリと Windows を統合する

デスクトップ アプリがパッケージ化されている (実行時にパッケージ ID を持つ) 場合は、パッケージ マニフェスト内で定義済みの拡張機能を使用することによって、拡張機能を使用してアプリを Windows と統合できます。 また、「パッケージ ID が必要な機能」も参照してください。

たとえば、ファイアウォール例外を作成する、アプリを特定のファイルの種類の既定アプリケーションにする、アプリをスタート タイルの参照先に指定する、などの操作を拡張機能で行うことができます。 拡張機能は、アプリのパッケージ マニフェスト ファイルに XML を追加するだけで使用できます。 コードは必要ありません。

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

注意

このトピックで説明する機能では、アプリをパッケージ化する必要があります (実行時にパッケージ ID を持ちます)。 それには、パッケージ化されたアプリ (パッケージ化された WinUI 3 デスクトップ アプリの新しいプロジェクトの作成に関する記事を参照) と、外部の場所でパッケージ化されたアプリが含まれます (「外部の場所でパッケージ化してパッケージ ID を付与する」を参照)。 また、「パッケージ ID が必要な機能」も参照してください。

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

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

既存のデスクトップ アプリをパッケージ アプリにリダイレクトする

パッケージ化されていない既存のデスクトップ アプリをユーザーが起動すると、代わりにパッケージ アプリが開かれるように構成できます。

Note

この機能は、Windows Insider Preview ビルド 21313 以降のバージョンでサポートされています。

この動作を有効にするには、次のように設定します。

  1. パッケージ化されていないデスクトップ アプリの実行可能ファイルをパッケージ アプリにリダイレクトするレジストリ エントリを追加します。
  2. パッケージ化されていないデスクトップ アプリの実行可能ファイルが起動されたときに起動されるパッケージ アプリを登録します。

パッケージ化されていないデスクトップ アプリの実行可能ファイルをリダイレクトするレジストリ エントリを追加する

  1. レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options キーの下に、そのデスクトップ アプリの実行可能ファイル名と同じ名前のサブキーを作成します。
  2. このサブキーの下に、次の値を追加します。
    • AppExecutionAliasRedirect (DWORD): 1 に設定すると、システムは、実行可能ファイルと同じ名前の AppExecutionAlias パッケージ拡張機能を確認します。 AppExecutionAlias 拡張機能が有効になっている場合、そのパッケージ アプリはこの値を使用してアクティブ化されます。
    • AppExecutionAliasRedirectPackages (REG_SZ): システムは、一覧表示されているパッケージにのみリダイレクトします。 パッケージは、セミコロンで区切られてパッケージ ファミリ名ごとに一覧表示されます。 特別な値 * を使用すると、システムは任意のパッケージから AppExecutionAlias にリダイレクトします。

次に例を示します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe 
    AppExecutionAliasRedirect = 1
    AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe" 

起動されるパッケージ アプリを登録する

パッケージ マニフェストに、パッケージ化されていないデスクトップ アプリの実行可能ファイルの名前を登録する AppExecutionAlias 拡張機能を追加します。 次に例を示します。

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

リダイレクトを無効にする

ユーザーは、次のオプションを使用することにより、リダイレクトを無効にし、パッケージ化されていないアプリの実行可能ファイルを起動できます。

  • ユーザーは、アプリのパッケージ バージョンをアンインストールできます。
  • ユーザーは、[設定][App execution aliases] (アプリの実行エイリアス) ページで、パッケージ アプリの AppExecutionAlias エントリを無効にできます。

XML 名前空間

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

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

<uap3:Extension
    Category="windows.appExecutionAlias"
    EntryPoint="Windows.FullTrustApplication">
    <uap3:AppExecutionAlias>
        <desktop:ExecutionAlias Alias="[AliasName]" />
    </uap3:AppExecutionAlias>
</uap3:Extension>
名前 説明
カテゴリ 常に windows.appExecutionAlias
[実行可能ファイル] エイリアスが呼び出されたときに起動する実行可能ファイルの相対パス。
エイリアス アプリの短い名前。 常に、拡張子 ".exe" で終わっている必要があります。

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

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

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>

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

名前 説明
カテゴリ 常に 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 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
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="myfiletypes">
            <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 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
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="mediafiles">
            <uap:SupportedFileTypes>
            <uap:FileType>.avi</uap:FileType>
            </uap:SupportedFileTypes>
          </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

WPF picture viewer with transition/migration/uninstallation

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

この拡張機能を使用すると、ユーザーがファイル エクスプローラー内でファイルを右クリックしたときに表示されるコンテキスト メニューにオプションを追加できます。これらのオプションを使用すると、ユーザーはファイルの印刷、編集、プレビューなど、他の方法でファイルを操作できます。 この拡張機能の使用方法について詳しくは、「パッケージ化されたデスクトップ アプリをファイル エクスプローラーと統合する」を参照してください。

XML 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
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="myfiletypes">
            <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 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
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="myfiletypes" 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>

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

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

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

Note

"windows.firewallRules" 拡張機能カテゴリ (下記参照) を使うには、パッケージに完全信頼アクセス許可レベルの制限付き機能が必要です。 「制限付き機能の一覧」をご覧ください。

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>

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

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

<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 ファイルをパッケージの任意のフォルダーに配置します。

uap6:LoaderSearchPathOverride 拡張機能を使用すると、アプリ パッケージで最大 5 つのフォルダー パスを、アプリ パッケージのルート パスから見た相対パスとして宣言できます。これらは、アプリのプロセスのローダー検索パスで使用されます。

パッケージに実行権限がある場合、Windows アプリの DLL 検索順序には、パッケージの依存関係グラフのパッケージが含まれます。 既定で、これにはメイン、オプション、フレームワークの各パッケージが含まれます。ただし、これはパッケージ マニフェストの uap6:AllowExecution 要素によって上書きされる場合があります。

DLL 検索順序に含まれるパッケージには、既定で、その "有効パス" が含まれます。 有効パスの詳細については、EffectivePath プロパティ (WinRT) および PackagePathType 列挙 (Win32) を参照してください。

パッケージで uap6:LoaderSearchPathOverride が指定されている場合、パッケージの有効パスの代わりにこの情報が使用されます。

各パッケージには、1 つの uap6:LoaderSearchPathOverride 拡張機能のみを含めることができます。 つまり、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 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
MultiSelectModel 下記参照
FileType 関連するファイル拡張子。

MultiSelectModel

パッケージ デスクトップ アプリには、通常のデスクトップ アプリと同じ 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="myfiletypes" 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 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
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="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
            </uap:SupportedFileTypes>
            <desktop2:ThumbnailHandler
              Clsid  ="20000000-0000-0000-0000-000000000001"  />
            </uap3:FileTypeAssociation>
         </uap::Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

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

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

XML 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
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="myfiletypes">
            <uap:SupportedFileTypes>
              <uap:FileType>.bar</uap:FileType>
                </uap:SupportedFileTypes>
              <desktop2:DesktopPreviewHandler Clsid ="20000000-0000-0000-0000-000000000001" />
           </uap3:FileTypeAssociation>
        </uap:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

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

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

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

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

XML 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
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="mediafiles">
             <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 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.fileTypeAssociation
名前 ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化することができます。 名前は、すべて小文字でスペースを含まないようにする必要があります。
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="myfiletypes">
            <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 名前空間

  • http://schemas.microsoft.com/appx/manifest/foundation/windows10
  • http://schemas.microsoft.com/appx/manifest/desktop/windows10/4

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

<Extensions>
    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="[AppID]" DisplayName="[DisplayName]">
                <com:Class Id="[Clsid]" Path="[Path]" ThreadingModel="[Model]"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    <desktop4:Extension Category="windows.fileExplorerContextMenus">
        <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type="[Type]">
                <desktop4:Verb Id="[ID]" Clsid="[Clsid]" />
            </desktop4:ItemType>
        </desktop4:FileExplorerContextMenus>
    </desktop4:Extension>
</Extensions>

詳細なスキーマ リファレンスについては、com:ComServerdesktop4:FileExplorerContextMenus を参照してください。

Instructions

コンテキスト メニュー ハンドラーを登録するには、次の手順に従います。

  1. デスクトップ アプリケーションで、IExplorerCommand または IExplorerCommandState インターフェイスを実装することによって、コンテキスト メニュー ハンドラーを実装します。 サンプルについては、ExplorerCommandVerb のコード サンプルを参照してください。 各実装オブジェクトのクラス GUID を必ず定義します。 たとえば、次のコードでは IExplorerCommand の実装のクラス ID を定義しています。

    class __declspec(uuid("d0c8bceb-28eb-49ae-bc68-454ae84d6264")) CExplorerCommandVerb;
    
  2. パッケージ マニフェストで、COM サロゲート サーバーとコンテキスト メニュー ハンドラーの実装のクラス ID を登録する com:ComServer アプリケーション拡張機能を指定します。

    <com:Extension Category="windows.comServer">
        <com:ComServer>
            <com:SurrogateServer AppId="d0c8bceb-28eb-49ae-bc68-454ae84d6264" DisplayName="ContosoHandler">
                <com:Class Id="d0c8bceb-28eb-49ae-bc68-454ae84d6264" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
        </com:ComServer>
    </com:Extension>
    
  3. パッケージ マニフェストで、コンテキスト メニュー ハンドラーの実装を登録する desktop4:FileExplorerContextMenus アプリケーション拡張機能を指定します。

    <desktop4:Extension Category="windows.fileExplorerContextMenus">
        <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type=".rar">
                <desktop4:Verb Id="Command1" Clsid="d0c8bceb-28eb-49ae-bc68-454ae84d6264" />
            </desktop4:ItemType>
        </desktop4:FileExplorerContextMenus>
    </desktop4:Extension>
    

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:desktop4="http://schemas.microsoft.com/appx/manifest/desktop/windows10/4"
  xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
  IgnorableNamespaces="desktop4">
  <Applications>
    <Application>
      <Extensions>
        <com:Extension Category="windows.comServer">
          <com:ComServer>
            <com:SurrogateServer AppId="d0c8bceb-28eb-49ae-bc68-454ae84d6264" DisplayName="ContosoHandler">
              <com:Class Id="d0c8bceb-28eb-49ae-bc68-454ae84d6264" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/>
            </com:SurrogateServer>
          </com:ComServer>
        </com:Extension>
        <desktop4:Extension Category="windows.fileExplorerContextMenus">
          <desktop4:FileExplorerContextMenus>
            <desktop4:ItemType Type=".contoso">
              <desktop4:Verb Id="Command1" Clsid="d0c8bceb-28eb-49ae-bc68-454ae84d6264" />
            </desktop4:ItemType>
          </desktop4:FileExplorerContextMenus>
        </desktop4:Extension>
      </Extensions>
    </Application>
  </Applications>
</Package>

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

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

XML 名前空間

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

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

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

名前 説明
カテゴリ 常に 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>

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

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

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

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

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

XML 名前空間

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

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

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

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

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

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

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

Note

このスタートアップ タスクを登録するには、ユーザーが少なくとも 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>
名前 説明
カテゴリ 常に windows.startupTask
[実行可能ファイル] 起動する実行可能ファイルへの相対パス。
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>

ユーザーがデバイスを自分の 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>
名前 説明
カテゴリ 常に 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 メッセージを受け取ったら、アプリケーションでデータを保存してシャットダウンする必要があります。

Note

また、アプリケーションで 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>

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

名前 説明
カテゴリ 常に 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 アプリケーションとカスタム フォントを共有できます。

Note

この拡張機能を使用するアプリを Microsoft Store に送信するには、まず Microsoft Store チームから承認を得る必要があります。 承認を得るには、https://aka.ms/storesupport にアクセスし、[お問い合わせ先] をクリックして、ダッシュボードへのアプリの送信に関連するオプションを選択します。 この承認プロセスにより、アプリによってインストールされたフォントと、OS と共にインストールされたフォントの間で競合が発生しないようにすることができます。 承認を得ていない場合は、アプリを送信するときに次のようなエラーが表示されます。「パッケージ受領の検証エラー:このアカウントでは拡張機能 windows.sharedFonts を使用できません。 この拡張機能を使うためのアクセス許可を申請する場合は、サポート チームにお問い合わせください。」

XML 名前空間

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

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

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

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

名前 説明
カテゴリ 常に windows.sharedFonts
ファイル 共有するフォントが格納されたファイル。

<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>
名前 説明
カテゴリ 常に windows.fullTrustProcess
GroupID 実行可能ファイルに渡すパラメーターのセットを識別するための文字列。
パラメーター 実行可能ファイルに渡すパラメーター。

<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 のチームでは、これらのタグをチェックしています。 こちらから質問することもできます。