デスクトップ アプリがパッケージ化されている (実行時にパッケージ ID を持つ) 場合は、パッケージ マニフェストで定義済みの拡張機能を使用して、拡張機能を使用してアプリ を Windows と統合できます。 パッケージ IDを必要とする
たとえば、拡張機能を使用してファイアウォール例外を作成します。アプリをファイルの種類の既定のアプリケーションにします。またはスタート 画面のタイルをアプリにポイントします。 拡張機能を使用するには、アプリのパッケージ マニフェスト ファイルに XML を追加するだけです。 コードは必要ありません。
このトピックでは、これらの拡張機能と、拡張機能を使用して実行できるタスクについて説明します。
注
このトピックで説明する機能では、アプリをパッケージ化する必要があります (実行時にパッケージ ID を持つ)。 これには、パッケージ アプリ (「
ユーザーをアプリに移行する
ユーザーがパッケージ アプリに切り替えるのに役立ちます。
- 既存のデスクトップ アプリをパッケージ アプリにリダイレクトする
- 既存のスタート タイルとタスク バー ボタンをパッケージ アプリにポイントする
- デスクトップ アプリの代わりにパッケージ アプリでファイルを開く
- パッケージ アプリを一連のファイルの種類に関連付ける
- 特定の種類のファイルのコンテキスト メニューにオプションを追加する
- URL を使用して特定の種類のファイルを直接開く
既存のデスクトップ アプリをパッケージ アプリにリダイレクトする
ユーザーがパッケージ化されていない既存のデスクトップ アプリを起動するときに、代わりにパッケージ アプリを開くよう構成できます。
注
この機能は、Windows Insider Preview ビルド 21313 以降のバージョンでサポートされています。
この動作を有効にするには:
- パッケージ化されていないデスクトップ アプリの実行可能ファイルをパッケージ アプリにリダイレクトするレジストリ エントリを追加します。
- パッケージ化されていないデスクトップ アプリの実行可能ファイルが起動されたときに起動するパッケージ アプリを登録します。
レジストリ エントリを追加して、パッケージ化されていないデスクトップ アプリの実行可能ファイルをリダイレクトする
- レジストリで、 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options キーの下にデスクトップ アプリの実行可能ファイルの名前を持つサブキーを作成します。
- このサブキーの下に、次の値を追加します。
- 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>
リダイレクトを無効にする
ユーザーは、次のオプションを使用して、リダイレクトをオフにし、パッケージ化されていないアプリの実行可能ファイルを起動できます。
- パッケージ化されたバージョンのアプリをアンインストールできます。
- ユーザーは、[設定] の [アプリの実行エイリアス] ページで、パッケージ アプリの 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。 |
ショートカットパス | アプリのデスクトップ バージョンを開始する.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 画像ビューアーは、遷移/移行/アンインストールに対応しています
デスクトップ アプリの代わりにパッケージ アプリケーションでファイルを開く
デスクトップ バージョンのアプリを開く代わりに、ユーザーが特定の種類のファイルに対して既定で新しいパッケージ 化されたアプリケーションを開いていることを確認できます。
これを行うには、ファイルの関連付けを継承する各アプリケーションの プログラム識別子 (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 画像ビューアーは、遷移/移行/アンインストールに対応しています
パッケージ 化されたアプリケーションを一連のファイルの種類に関連付ける
パッケージ化されたアプリケーションをファイルの種類の拡張子に関連付けることができます。 ユーザーがエクスプローラーでファイルを右クリックし、[ 開く ] オプションを選択すると、候補の一覧にアプリケーションが表示されます。 この拡張機能の使用方法の詳細については、「 パッケージ化されたデスクトップ アプリをエクスプローラーと統合する」を参照してください。
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 です。 |
名前 | ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化できます。 名前は、スペースのない小文字である必要があります。 |
ファイルタイプ | アプリでサポートされているファイル拡張子。 |
例
<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 画像ビューアーは、遷移/移行/アンインストールに対応しています
特定の種類のファイルのコンテキスト メニューにオプションを追加する
この拡張機能を使用すると、ユーザーがエクスプローラーでファイルを右クリックしたときに表示されるオプションをコンテキスト メニューに追加できます。これらのオプションを使用すると、ファイルの印刷、編集、プレビューなどの他の方法でファイルを操作できます。 この拡張機能の使用方法の詳細については、「 パッケージ化されたデスクトップ アプリをエクスプローラーと統合する」を参照してください。
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 です。 |
名前 | ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化できます。 名前は、スペースのない小文字である必要があります。 |
動詞 | エクスプローラーのコンテキスト メニューに表示される名前。 この文字列は、 ms-resource を使用してローカライズできます。 |
ID (アイディー) | 動詞の一意の ID。 アプリケーションが UWP アプリの場合、これはアクティブ化イベント引数の一部としてアプリに渡されるため、ユーザーの選択を適切に処理できます。 アプリケーションが完全信頼パッケージ アプリの場合は、代わりにパラメーターを受け取ります (次の箇条書きを参照)。 |
パラメーター | 動詞に関連付けられている引数パラメーターと値の一覧。 アプリケーションが完全信頼パッケージ アプリの場合、これらのパラメーターは、アプリケーションのアクティブ化時にイベント引数としてアプリケーションに渡されます。 さまざまなアクティブ化動詞に基づいて、アプリケーションの動作をカスタマイズできます。 変数にファイル パスを含めることができる場合は、パラメーター値を引用符で囲みます。 これは、パスにスペースが含まれている場合に発生する問題を回避します。 アプリケーションが UWP アプリの場合、パラメーターを渡すことはできません。 アプリは代わりに ID を受け取ります (前の行頭文字を参照)。 |
延長された | ファイルを右クリックする前に Shift キーを押しながらコンテキスト メニューを表示する場合にのみ動詞を表示することを指定します。 この属性は省略可能であり、一覧にない場合は既定値として False (例えば、動詞を常に表示する) が設定されます。 この動作は、動詞ごとに個別に指定します ("Open" を除き、常に 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 "%1"">Edit</uap3:Verb>
<uap3:Verb Id="Print" Extended="true" Parameters="/p "%1"">Print</uap3:Verb>
</uap2:SupportedVerbs>
</uap3:FileTypeAssociation>
</uap:Extension>
</Extensions>
</Application>
</Applications>
</Package>
関連するサンプル
WPF 画像ビューアーは、遷移/移行/アンインストールに対応しています
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 です。 |
名前 | ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化できます。 名前は、スペースのない小文字である必要があります。 |
URLを使用する | URL ターゲットから直接ファイルを開くかどうかを示します。 この値を設定しない場合、アプリケーションが URL を使用してファイルを開こうとすると、システムは最初にファイルをローカルにダウンロードします。 |
パラメーター | 省略可能なパラメーター。 |
ファイルタイプ | 関連するファイル拡張子。 |
例
<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>
セットアップ タスクの実行
アプリのファイアウォール例外を作成する
アプリケーションでポート経由の通信が必要な場合は、ファイアウォール例外の一覧にアプリケーションを追加できます。
注
"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 |
実行可能 | ファイアウォール例外の一覧に追加する実行可能ファイルの名前 |
方向 | 規則が受信規則か送信規則かを示します |
IPプロトコル | 通信プロトコル |
ローカルポートの最小値 (LocalPortMin) | ローカル ポート番号の範囲における低いポート番号。 |
ローカルポート最大値 | ローカル ポート番号の範囲の最大ポート番号。 |
リモートポートマックス | リモート ポート番号の範囲の下位ポート番号。 |
リモートポートマックス | リモート ポート番号の範囲の最大ポート番号。 |
プロフィール | ネットワークの種類 |
例
<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 が指定されている場合、この情報はパッケージの有効なパスの代わりに使用されます。
各パッケージに含めることができる uap6:LoaderSearchPathOverride 拡張機能は 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 です。 |
フォルダーパス | 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
パッケージ化されたデスクトップ アプリには、通常のデスクトップ アプリと同じ 3 つのオプションがあります。
-
Player
: アプリケーションが 1 回アクティブになります。 選択したすべてのファイルは、引数パラメーターとしてアプリケーションに渡されます。 -
Single
: アプリケーションは、最初に選択したファイルに対して 1 回アクティブ化されます。 その他のファイルは無視されます。 -
Document
: 選択したファイルごとに、アプリケーションの新しい個別のインスタンスがアクティブ化されます。
ファイルの種類やアクションごとに異なる環境設定を設定できます。 たとえば、ドキュメント を ドキュメント モードで開き、画像 を プレイヤー モードで開きます。
例
<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 です。 |
名前 | ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化できます。 名前は、スペースのない小文字である必要があります。 |
ファイルタイプ | 関連するファイル拡張子。 |
クラスシド | アプリのクラス 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 です。 |
名前 | ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化できます。 名前は、スペースのない小文字である必要があります。 |
ファイルタイプ | 関連するファイル拡張子。 |
クラスシド | アプリのクラス 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 Namesの使用」を参照してください。
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 です。 |
名前 | ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化できます。 名前は、スペースのない小文字である必要があります。 |
ファイルタイプ | 関連するファイル拡張子。 |
価値 | 有効な 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 です。 |
名前 | ファイルの種類の関連付けの名前。 この名前を使用して、ファイルの種類を整理およびグループ化できます。 名前は、スペースのない小文字である必要があります。 |
ファイルタイプ | 関連するファイル拡張子。 |
クラスシド | アプリのクラス 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:ComServer および desktop4:FileExplorerContextMenusしてください。
インストラクション
コンテキスト メニュー ハンドラーを登録するには、次の手順に従います。
デスクトップ アプリケーションで、
コンテキスト メニュー ハンドラー を実装するには、IExplorerCommand か、IExplorerCommandState インターフェイスを実装します。 サンプルについては、 ExplorerCommandVerb のコード サンプルを参照してください。 実装オブジェクトごとにクラス GUID を定義してください。 たとえば、次のコードでは、 IExplorerCommand の実装のクラス ID を定義します。 class __declspec(uuid("00001111-aaaa-2222-bbbb-3333cccc4444")) CExplorerCommandVerb;
パッケージ マニフェストで、COM サロゲート サーバーをコンテキスト メニュー ハンドラー実装のクラス ID に登録する com:ComServer アプリケーション拡張機能を指定します。
<com:Extension Category="windows.comServer"> <com:ComServer> <com:SurrogateServer AppId="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler"> <com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" Path="ExplorerCommandVerb.dll" ThreadingModel="STA"/> </com:SurrogateServer> </com:ComServer> </com:Extension>
パッケージ マニフェストで、コンテキスト メニュー ハンドラーの実装を登録する desktop4:FileExplorerContextMenus アプリケーション拡張機能を指定します。
<desktop4:Extension Category="windows.fileExplorerContextMenus"> <desktop4:FileExplorerContextMenus> <desktop4:ItemType Type=".rar"> <desktop4:Verb Id="Command1" Clsid="00001111-aaaa-2222-bbbb-3333cccc4444" /> </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="00001111-aaaa-2222-bbbb-3333cccc4444" DisplayName="ContosoHandler">
<com:Class Id="00001111-aaaa-2222-bbbb-3333cccc4444" 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="00001111-aaaa-2222-bbbb-3333cccc4444" />
</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 です。 |
アイコンリソース | クラウド ファイル プロバイダー サービスを表すアイコン。 このアイコンは、エクスプローラーのナビゲーション ウィンドウに表示されます。 ユーザーはこのアイコンを選択して、クラウド サービスのファイルを表示します。 |
カスタムステートハンドラー Clsid | CustomStateHandler を実装するアプリケーションのクラス ID。 システムはこのクラス ID を使用して、クラウド ファイルのカスタム状態と列を要求します。 |
サムネイルプロバイダーハンドラー 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>
さまざまな方法でアプリケーションを起動する
- プロトコルを使用してアプリケーションを起動する
- エイリアスを使用してアプリケーションを起動する
- ユーザーが Windows にログインしたときに実行可能ファイルを起動する
- ユーザーがデバイスを PC に接続するときにアプリケーションを起動できるようにする
- Microsoft Store から更新プログラムを受け取った後、自動的に再起動する
プロトコルを使用してアプリケーションを起動する
プロトコルの関連付けにより、他のプログラムやシステム コンポーネントがパッケージ アプリと相互運用できるようになります。 プロトコルを使用してパッケージ 化されたアプリケーションを起動する場合は、アクティブ化イベント引数に渡す特定のパラメーターを指定して、それに応じて動作させることができます。 パラメーターは、パッケージ化された完全信頼アプリでのみサポートされます。 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 "%1"" />
</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 にログインしたときに実行可能ファイルを起動する
スタートアップ タスクを使用すると、ユーザーがログオンするたびに、アプリケーションで実行可能ファイルを自動的に実行できます。
注
このスタートアップ タスクを登録するには、ユーザーがアプリケーションを少なくとも 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 です。 |
実行可能 | 開始する実行可能ファイルへの相対パス。 |
タスクID | タスクのための一意識別子。 この識別子を使用すると、アプリケーションは Windows.ApplicationModel.StartupTask クラスの API を呼び出して、スタートアップ タスクをプログラムで有効または無効にすることができます。 |
有効化済み | タスクが最初に有効か無効かを示します。 有効なタスクは、ユーザーが次回ログオンすると実行されます (ユーザーが無効にしない限り)。 |
表示名 | タスク マネージャーに表示されるタスクの名前。 この文字列は、 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 です。 |
動作表示名 | ユーザーが PC に接続するデバイスで実行できるアクションを表す文字列 ("ファイルのインポート" や "ビデオの再生" など)。 |
プロバイダ表示名 | アプリケーションまたはサービスを表す文字列 (例: "Contoso ビデオ プレーヤー")。 |
コンテンツイベント | ユーザーに ActionDisplayName と ProviderDisplayName を求めるメッセージを表示するコンテンツ イベントの名前。 コンテンツ イベントは、カメラ のメモリ カード、サム ドライブ、DVD などのボリューム デバイスが PC に挿入されるときに発生します。 これらのイベントの完全な一覧 については、こちらをご覧ください。 |
動詞 | Verb 設定は、選択したオプションのアプリケーションに渡される値を識別します。 自動再生イベントに対して複数の起動アクションを指定し、[動詞] 設定を使用して、ユーザーがアプリに対して選択したオプションを決定できます。 アプリに渡されるスタートアップ イベント引数の verb プロパティをチェックすることで、ユーザーが選択したオプションを確認できます。 動詞の設定には、予約されている open 以外の任意の値を使用できます。 |
ドロップターゲットハンドラー | IDropTarget インターフェイスを実装するアプリケーションのクラス ID。 リムーバブル メディアのファイルは、IDropTarget 実装の Drop メソッドに渡されます。 |
パラメーター | すべてのコンテンツ イベントに IDropTarget インターフェイスを実装する必要はありません。 コンテンツ イベントの場合は、 IDropTarget インターフェイスを実装する代わりにコマンド ライン パラメーターを指定できます。 これらのイベントの場合、AutoPlay はこれらのコマンド ライン パラメーターを使用してアプリケーションを起動します。 アプリの初期化コードでこれらのパラメーターを解析して、自動再生によって開始されたかどうかを判断し、カスタム実装を提供できます。 |
デバイスイベント | ユーザーに ActionDisplayName と ProviderDisplayName を促すメッセージが表示されるデバイスイベントの名前。 デバイスが PC に接続されると、デバイス イベントが発生します。 デバイス イベントは文字列 |
HW イベントハンドラー | IHWEventHandler インターフェイスを実装するアプリケーションのクラス ID。 |
イニシエト コマンド ライン | 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秒以内があります。それ以降は、プラットフォームによって強制的に終了されます。
更新が完了すると、アプリケーションが再起動します。
他のアプリケーションを操作する
他のアプリと統合したり、他のプロセスを開始したり、情報を共有したりします。
- 印刷をサポートするアプリケーションで、アプリケーションを印刷ターゲットとして表示する
- 他の Windows アプリケーションとフォントを共有する
- ユニバーサル Windows プラットフォーム (UWP) アプリから Win32 プロセスを開始する
印刷をサポートするアプリケーションで、アプリケーションを印刷ターゲットとして表示する
ユーザーがメモ帳などの別のアプリケーションからデータを印刷する場合は、使用可能な印刷ターゲットのアプリの一覧にアプリケーションを印刷ターゲットとして表示できます。
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 です。 |
表示名 | アプリの印刷ターゲットの一覧に表示する名前。 |
パラメーター | アプリケーションが要求を適切に処理するために必要なパラメーター。 |
例
<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 アプリケーションと共有します。
注
この拡張機能を使用するアプリをストアに送信するには、まずストア チームから承認を得る必要があります。 承認を得るには、 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 です。 |
グループID | 実行可能ファイルに渡すパラメーターのセットを識別する文字列。 |
パラメーター | 実行可能ファイルに渡すパラメーター。 |
例
<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 についてお問い合わせください。 私たちのチームはこれらの タグを監視しています。 ここで私たちに質問することもできます 。
Windows developer