Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn Ihre Desktop-App gepackt ist (und somit zur Laufzeit über eine Paketidentität verfügt), können Sie Ihre App mithilfe von Erweiterungen in Windows integrieren, indem Sie vordefinierte Erweiterungen im Paketmanifest nutzen. Weitere Informationen finden Sie auch unter Features, für die Paketidentität benötigt wird.
Verwenden Sie beispielsweise eine Erweiterung, um eine Firewall-Ausnahme zu erstellen; legen Sie Ihre App als Standardanwendung für einen Dateityp fest; oder verlinken Sie Startkacheln mit Ihrer App. Um eine Erweiterung zu verwenden, fügen Sie einfach XML zur Paketmanifestdatei Ihrer App hinzu. Es ist kein Code erforderlich.
In diesem Thema werden diese Erweiterungen und die Aufgaben beschrieben, die Sie mithilfe dieser Erweiterungen ausführen können.
Hinweis
Für die in diesem Thema beschriebenen Features muss Ihre App gepackt sein (also zur Laufzeit über eine Paketidentität verfügen). Dazu gehören verpackte Apps (siehe Erstellen Sie Ihr erstes WinUI-Projekt) und verpackte Apps mit externem Speicherort (siehe Paketidentität durch Verpacken mit externem Speicherort gewähren). Weitere Informationen finden Sie auch unter Features, für die Paketidentität benötigt wird.
Benutzerumstellung auf deine App
Helfen Sie Benutzern beim Übergang zu Ihrer verpackten App.
- Umleiten Ihrer vorhandenen Desktop-App an Ihre gepackte App
- Verweis auf die gepackte App mit vorhandenen Startkacheln und Taskleistenschaltflächen
- Einstellen, dass Dateien mit der gepackten App und nicht Ihrer Desktop-App geöffnet werden
- Zuordnen Ihrer gepackten App zu einer Gruppe von Dateitypen
- Hinzufügen von Optionen zu den Kontextmenüs von Dateien mit einem bestimmten Dateityp
- Öffnen bestimmter Dateitypen direkt mithilfe einer URL
Leiten Sie Ihre vorhandene Desktop-App zu Ihrer verpackten App um.
Wenn Benutzer Ihre vorhandene entpackte Desktop-App starten, können Sie die verpackte App so konfigurieren, dass sie stattdessen geöffnet wird.
Hinweis
Dieses Feature wird in Windows Insider Preview Build 21313 und höheren Versionen unterstützt.
So aktivieren Sie dieses Verhalten:
- Fügen Sie Registrierungseinträge hinzu, um die ausführbare Datei der nicht gepackten Desktop-App an Ihre gepackte App umzuleiten.
- Registrieren Sie Ihre gepackte App, damit sie gestartet wird, wenn die ausführbare Datei Ihrer nicht gepackten Desktop-App gestartet wird.
Fügen Sie Registrierungseinträge hinzu, um die ausführbare Datei der nicht gepackten Desktop-App umzuleiten.
- Erstellen Sie in der Registrierung unter dem Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options einen Unterschlüssel mit dem Namen der ausführbaren Datei Ihrer Desktop-App.
- Fügen Sie unter diesem Unterschlüssel die folgenden Werte hinzu:
- AppExecutionAliasRedirect (DWORD): Wenn dieser Wert auf 1 festgelegt ist, sucht das System nach einer AppExecutionAlias-Paketerweiterung mit demselben Namen wie die ausführbare Datei. Wenn die AppExecutionAlias-Erweiterung aktiviert ist, wird die verpackte App mit diesem Wert aktiviert.
- AppExecutionAliasRedirectPackages (REG_SZ): Das System leitet nur auf die aufgelisteten Pakete um. Pakete werden nach ihrem Paketfamiliennamen aufgelistet, getrennt durch Semikolons. Wenn der Sonderwert * verwendet wird, leitet das System von einem beliebigen Paket zu einem AppExecutionAlias um.
Beispiel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\contosoapp.exe
AppExecutionAliasRedirect = 1
AppExecutionAliasRedirectPackages = "Microsoft.WindowsNotepad_8weky8webbe"
Registrieren der gepackten App, um diese zu starten
Fügen Sie zum Paketmanifest eine AppExecutionAlias-Erweiterung hinzu, die den Namen der ausführbaren Datei Ihrer nicht gepackten Desktop-App registriert. Beispiel:
<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>
Deaktiviere die Umleitung
Benutzer können die Umleitung deaktivieren, um die ausführbare Datei Ihrer nicht gepackten App über diese Optionen zu starten:
- Sie können die gepackte Version Ihrer App deinstallieren.
- Der Benutzer kann den Eintrag AppExecutionAlias für Ihre gepackte App unter Einstellungen auf der Seite App-Ausführungsaliase deaktivieren.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemente und Attribute dieser Erweiterung
<uap3:Extension
Category="windows.appExecutionAlias"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.appExecutionAlias. |
| Ausführbare Datei | Der relative Pfad zur ausführbaren Datei, die beim Aufrufen des Alias gestartet wird. |
| Alias | Der kurze Name für Ihre App. Er muss immer mit der Erweiterung „.exe“ enden. |
Verweis auf die gepackte App mit vorhandenen Startkacheln und Taskleistenschaltflächen
Deine Benutzer haben möglicherweise deine Desktop-Anwendung an die Taskleiste oder das Startmenü angeheftet. Du kannst in diesen Verknüpfungen auf deine neue gepackte App verweisen.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.desktopAppMigration">
<DesktopAppMigration>
<DesktopApp AumId="[your_app_aumid]" />
<DesktopApp ShortcutPath="[path]" />
</DesktopAppMigration>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.desktopAppMigration. |
| AumID | Die Anwendungsbenutzermodell-ID deiner gepackten App. |
| ShortcutPath | Der Pfad zu den INK-Dateien, mit denen die Desktopversion deiner App gestartet wird. |
Beispiel
<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>
Verwandtes Beispiel
WPF-Bildanzeige mit Übergang/Migration/Deinstallation
Festlegen deiner gepackten Anwendung zum Öffnen von Dateien anstelle deiner Desktop-App
Sie können sicherstellen, dass Benutzer Ihre neue verpackte Anwendung standardmäßig für bestimmte Dateitypen öffnen, anstatt die Desktopversion Ihrer App zu öffnen.
Dazu gibst du den programmatischen Bezeichner (ProgID) jeder Anwendung an, von der du Dateizuordnungen übernehmen möchtest.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<MigrationProgIds>
<MigrationProgId>"[ProgID]"</MigrationProgId>
</MigrationProgIds>
</FileTypeAssociation>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| MigrationProgId | Der programmatische Bezeichner (ProgID), der die Anwendung, die Komponente und die Version der Desktopanwendung beschreibt, aus der die Dateizuordnungen übernommen werden sollen. |
Beispiel
<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>
Verwandtes Beispiel
WPF-Bildanzeige mit Übergang/Migration/Deinstallation
Zuordnen der verpackten Anwendung zu einer Reihe von Dateitypen
Sie können Ihrer gepackten Anwendung Dateityperweiterungen zuordnen. Wenn ein Benutzer mit der rechten Maustaste auf eine Datei im Datei-Explorer klickt und dann die Option " Öffnen mit " auswählt, wird Ihre Anwendung in der Liste der Vorschläge angezeigt. Weitere Informationen zur Verwendung dieser Erweiterung finden Sie unter Integrieren einer verpackten Desktop-App in den Datei-Explorer.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[file extension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| Dateityp | Die von Ihrer App unterstützte Dateierweiterung. |
Beispiel
<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>
Verwandtes Beispiel
WPF-Bildanzeige mit Übergang/Migration/Deinstallation
Hinzufügen von Optionen zu den Kontextmenüs von Dateien mit einem bestimmten Dateityp
Mit dieser Erweiterung können Sie dem Kontextmenü Optionen hinzufügen, die angezeigt werden, wenn Benutzer im Datei-Explorer mit der rechten Maustaste auf eine Datei klicken.Diese Optionen bieten Benutzern andere Möglichkeiten, mit Ihrer Datei zu interagieren, z. B. drucken, bearbeiten oder eine Vorschau der Datei anzeigen. Weitere Informationen zur Verwendung dieser Erweiterung finden Sie unter Integrieren einer verpackten Desktop-App in den Datei-Explorer.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedVerbs>
<Verb Id="[ID]" Extended="[Extended]" Parameters="[parameters]">"[verb label]"</Verb>
</SupportedVerbs>
</FileTypeAssociation>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| Verb | Der Name, der im Kontextmenü des Datei-Explorers angezeigt wird. Diese Zeichenfolge, die ms-resource verwendet, ist lokalisierbar. |
| Kennung | Die eindeutige ID des Verbs. Bei UWP-Apps wird sie im Rahmen der Aktivierungsereignisargumente übergeben, um eine ordnungsgemäße Verarbeitung der Benutzerauswahl zu ermöglichen. Bei gepackten, als vollständig vertrauenswürdig eingestuften Apps hingegen werden Parameter übergeben (siehe nächster Punkt in der Auflistung). |
| Parameter | Die Liste der Argumentparameter und -werte, die dem Verb zugeordnet sind. Wenn deine Anwendung eine als vertrauenswürdig eingestufte gepackte App ist, werden diese Parameter bei der Aktivierung der Anwendung als Ereignisargumente an die Anwendung übergeben. Sie können das Verhalten Ihrer Anwendung basierend auf verschiedenen Aktivierungsverben anpassen. Wenn eine Variable einen Dateipfad enthalten kann, schließen Sie den Parameterwert in Anführungszeichen um. So werden Probleme vermieden, die bei Pfaden mit Leerzeichen auftreten können. Wenn Ihre Anwendung eine UWP-App ist, können Sie keine Parameter übergeben. Die App empfängt stattdessen die ID (siehe vorheriger Punkt in der Auflistung). |
| Erweitert | Gibt an, dass das Verb nur angezeigt werden soll, wenn der Benutzer zum Anzeigen des Kontextmenüs die UMSCHALTTASTE gedrückt hält, bevor er mit der rechten Maustaste auf die Datei klickt. Dieses Attribut ist optional und standardmäßig auf einen Wert von False festgelegt (z. B. immer das Verb anzeigen), wenn nicht angegeben. Dieses Verhalten muss für jedes Verb einzeln angegeben werden – mit Ausnahme von „Öffnen“: Bei diesem Verb ist der Wert immer False. |
Beispiel
<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>
Verwandtes Beispiel
WPF-Bildanzeige mit Übergang/Migration/Deinstallation
Öffnen bestimmter Dateitypen direkt mithilfe einer URL
Sie können sicherstellen, dass Benutzer Ihre neue verpackte Anwendung standardmäßig für bestimmte Dateitypen öffnen, anstatt die Desktopversion Ihrer App zu öffnen.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" UseUrl="true" Parameters="%1">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</FileTypeAssociation>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| UseUrl | Gibt an, ob Dateien direkt aus einem URL-Ziel geöffnet werden sollen. Wenn Sie diesen Wert nicht festlegen, versucht Ihre Anwendung, eine Datei mithilfe einer URL zu öffnen, wodurch das System die Datei zuerst lokal herunterlädt. |
| Parameter | Optionale Parameter. |
| Dateityp | Die entsprechenden Dateierweiterungen. |
Beispiel
<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>
Setup-Aufgaben ausführen
- Erstellen einer Firewall-Ausnahme für Ihre App
- Platzieren Sie Ihre DLL-Dateien in einen beliebigen Ordner des Pakets
Erstellen einer Firewall-Ausnahme für Ihre App
Wenn Ihre Anwendung eine Kommunikation über einen Port erfordert, können Sie Ihre Anwendung zur Liste der Firewall-Ausnahmen hinzufügen.
Hinweis
Um die Erweiterungskategorie „windows.firewallRules“ verwenden zu können (siehe unten), benötigt Ihr Paket die eingeschränkte Funktion Berechtigungsebene der vollen Vertrauenswürdigkeit. Siehe Liste eingeschränkter Funktionen.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elemente und Attribute dieser Erweiterung
<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>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.firewallRules |
| Ausführbare Datei | Der Name der ausführbaren Datei, die Sie der Liste der Firewall-Ausnahmen hinzufügen möchten |
| Direction | Gibt an, ob es sich bei der Regel um eine eingehende oder ausgehende Regel handelt. |
| IP-Protokoll | Das Kommunikationsprotokoll |
| LocalPortMin | Die niedrigste Portnummer in einem Bereich lokaler Ports. |
| LocalPortMax | Die höchste Portnummer in einem Bereich lokaler Ports. |
| RemotePortMax | Die niedrigste Portnummer in einem Bereich von Remoteports. |
| RemotePortMax | Die höchste Portnummer in einem Bereich von Remoteports. |
| Profil | Der Netzwerktyp |
Beispiel
<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>
Platzieren Sie Ihre DLL-Dateien in einem beliebigen Ordner des Pakets.
Verwenden Sie die Erweiterung uap6:LoaderSearchPathOverride, um bis zu fünf Ordnerpfade im App-Paket relativ zum Stammpfad des App-Pakets zu deklarieren, die im Suchpfad des Ladeprogramms für die Prozesse der App verwendet werden sollen.
Die DLL-Suchreihenfolge für Windows-Apps enthält Pakete im Paketabhängigkeitsdiagramm, wenn die Pakete Ausführungsrechte besitzen. Standardmäßig umfasst dies Haupt-, optionale und Frameworkpakete, obwohl dies durch das uap6:AllowExecution-Element im Paketmanifest überschrieben werden kann.
Ein Paket, das in der DLL-Suchreihenfolge enthalten ist, enthält standardmäßig seinen effektiven Pfad. Weitere Informationen zu effektiven Pfaden finden Sie unter der EffectivePath-Eigenschaft (WinRT) und der PackagePathType-Enumeration (Win32).
Wenn ein Paket uap6:LoaderSearchPathOverride angibt, werden diese Informationen anstelle des effektiven Pfads des Pakets verwendet.
Jedes Paket kann nur eine uap6:LoaderSearchPathOverride-Erweiterung enthalten. Das bedeutet, du kannst deinem Hauptpaket und dann jedem deiner optionalen Pakete und zugehörigen Sätzen eine Erweiterung hinzufügen.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/uap/windows10/6
Elemente und Attribute dieser Erweiterung
Deklarieren Sie diese Erweiterung auf Paketebene ihres App-Manifests.
<Extension Category="windows.loaderSearchPathOverride">
<LoaderSearchPathOverride>
<LoaderSearchPathEntry FolderPath="[path]"/>
</LoaderSearchPathOverride>
</Extension>
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.loaderSearchPathOverride. |
| FolderPath | Der Pfad des Ordners, der Die DLL-Dateien enthält. Gib einen Pfad relativ zum Stammordner des Pakets an. Sie können bis zu fünf Pfade in einer Erweiterung angeben. Wenn das System nach Dateien im Stammordner des Pakets suchen soll, verwenden Sie eine leere Zeichenfolge für einen dieser Pfade. Fügen Sie keine doppelten Pfade ein, und stellen Sie sicher, dass die Pfade keine voran- bzw. nachgestellten Schrägstriche oder umgekehrten Schrägstriche enthalten. Das System durchsucht keine Unterordner. Stellen Sie daher sicher, dass sie jeden Ordner explizit auflisten, der DLL-Dateien enthält, die das System laden soll. |
Beispiel
<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>
Mit dem Datei-Explorer integrieren
Helfen Sie Benutzern, Ihre Dateien zu organisieren und auf vertraute Weise mit ihnen zu interagieren.
- Definieren, wie sich Ihre Anwendung verhält, wenn Benutzer mehrere Dateien gleichzeitig auswählen und öffnen
- Anzeigen von Dateiinhalten in einem Miniaturbild im Datei-Explorer
- Anzeigen von Dateiinhalten im Vorschaubereich des Datei-Explorers
- Benutzern ermöglichen, Dateien mithilfe der Spalte "Art" im Datei-Explorer zu gruppieren
- Verfügbarmachen von Dateieigenschaften zum Suchen, Index, Eigenschaftendialogfeld und Detailbereich
- Angeben eines Kontextmenühandlers für einen Dateityp
- Dateien aus Ihrem Cloud-Dienst im Datei-Explorer erscheinen lassen
Definieren, wie sich Ihre Anwendung verhält, wenn Benutzer mehrere Dateien gleichzeitig auswählen und öffnen
Geben Sie an, wie sich Ihre Anwendung verhält, wenn ein Benutzer mehrere Dateien gleichzeitig öffnet.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]" MultiSelectModel="[SelectionModel]">
<SupportedVerbs>
<Verb Id="Edit" MultiSelectModel="[SelectionModel]">Edit</Verb>
</SupportedVerbs>
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| Mehrfachauswahlmodell | Siehe unten |
| Dateityp | Die entsprechenden Dateierweiterungen. |
MultiSelectModel
Verpackte Desktop-Apps haben die gleichen drei Optionen wie normale Desktop-Apps.
-
Player: Ihre Anwendung wird einmal aktiviert. Alle ausgewählten Dateien werden als Argumentparameter an Ihre Anwendung übergeben. -
Single: Ihre Anwendung wird einmal für die erste ausgewählte Datei aktiviert. Andere Dateien werden ignoriert. -
Document: Für jede ausgewählte Datei wird eine neue, separate Instanz Ihrer Anwendung aktiviert.
Sie können unterschiedliche Einstellungen für verschiedene Dateitypen und Aktionen festlegen. So können beispielsweise Dokumente im Modus Document und Bilder im Modus Player geöffnet werden.
Beispiel
<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>
Wenn der Benutzer 15 oder weniger Dateien öffnet, lautet die Standardauswahl des MultiSelectModel-Attributs Player. Andernfalls lautet der Standardwert Document. UWP-Apps werden immer als Player gestartet.
Dateiinhalte in einer Miniaturansicht im Datei-Explorer anzeigen
Ermöglichen Sie Benutzern, eine Miniaturansicht des Dateiinhalts zu sehen, wenn das Dateisymbol in mittlerer, großer oder extra großer Größe angezeigt wird.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<ThumbnailHandler
Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| Dateityp | Die entsprechenden Dateierweiterungen. |
| Clsid | Die Klassen-ID Ihrer App. |
Beispiel
<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>
Dateiinhalte im Vorschaubereich des Datei-Explorers anzeigen
Ermöglichen Sie Benutzern die Vorschau der Inhalte einer Datei im Vorschaubereich des Datei-Explorers.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/2http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<DesktopPreviewHandler Clsid ="[Clsid ]" />
</FileTypeAssociation>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| Dateityp | Die entsprechenden Dateierweiterungen. |
| Clsid | Die Klassen-ID Ihrer App. |
Beispiel
<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>
Benutzern das Gruppieren von Dateien mithilfe der Spalte "Kind" im Datei-Explorer ermöglichen
Sie können dem Feld Art einen oder mehrere vordefinierte Werte für Ihre Dateitypen zuordnen.
Im Datei-Explorer können Benutzer diese Dateien mithilfe dieses Felds gruppieren. Systemkomponenten verwenden dieses Feld auch für verschiedene Zwecke wie die Indizierung.
Weitere Informationen zum Kind-Feld und den Werten, die du für dieses Feld verwenden kannst, findest du unter Verwenden von Variantennamen.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities/3
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fileTypeAssociation">
<FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>"[FileExtension]"</FileType>
</SupportedFileTypes>
<KindMap>
<Kind value="[KindValue]">
</KindMap>
</FileTypeAssociation>
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| Dateityp | Die entsprechenden Dateierweiterungen. |
| value | Ein gültiger Kind-Wert |
Beispiel
<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>
Verfügbarmachen von Dateieigenschaften für die Suche, den Index, das Eigenschaftendialogfeld und den Detailbereich
XML-Namespace
http://schemas.microsoft.com/appx/manifest/uap/windows10http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elemente und Attribute dieser Erweiterung
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="[Name]">
<SupportedFileTypes>
<FileType>.bar</FileType>
</SupportedFileTypes>
<DesktopPropertyHandler Clsid ="[Clsid]"/>
</uap:FileTypeAssociation>
</uap:Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fileTypeAssociation. |
| Name | Der Name der Dateitypzuordnung. Sie können diesen Namen verwenden, um Dateitypen zu organisieren und zu gruppieren. Der Name darf nur aus Kleinbuchstaben und ohne Leerzeichen bestehen. |
| Dateityp | Die entsprechenden Dateierweiterungen. |
| Clsid | Die Klassen-ID Ihrer App. |
Beispiel
<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>
Angeben eines Kontextmenühandlers für einen Dateityp
Wenn Ihre Desktopanwendung einen Kontextmenühandler definiert, verwenden Sie diese Erweiterung, um den Menühandler zu registrieren.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/foundation/windows10http://schemas.microsoft.com/appx/manifest/desktop/windows10/4
Elemente und Attribute dieser Erweiterung
<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>
Die vollständige Schemareferenz finden Sie hier: com:ComServer und desktop4:FileExplorerContextMenus.
Anweisungen
Führen Sie die folgenden Anweisungen aus, um den Kontextmenühandler zu registrieren.
Implementiere in deiner Desktopanwendung einen Kontextmenühandler, indem du die Schnittstelle IExplorerCommand oder IExplorerCommandState implementierst. Siehe hierzu das Codebeispiel ExplorerCommandVerb. Stellen Sie sicher, dass Sie eine Klassen-GUID für jedes Ihrer Implementierungsobjekte definieren. Der folgende Code definiert beispielsweise eine Klassen-ID für eine Implementierung von IExplorerCommand.
class __declspec(uuid("00001111-aaaa-2222-bbbb-3333cccc4444")) CExplorerCommandVerb;Gib in deinem Paketmanifest eine com:ComServer-Anwendungserweiterung an, die einen COM-Ersatzserver mit der Klassen-ID der Implementierung deines Kontextmenühandlers registriert.
<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>Geben Sie im Paketmanifest eine Desktop4:FileExplorerContextMenus-Anwendungserweiterung an, die die Implementierung des Kontextmenühandlers registriert.
<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>
Beispiel
<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>
Festlegen, dass Dateien aus Ihrem Clouddienst im Datei-Explorer angezeigt werden
Registrieren Sie die Handler, die Sie in Ihrer Anwendung implementieren. Sie können auch Kontextmenüoptionen hinzufügen, die angezeigt werden, wenn Benutzer mit der rechten Maustaste auf Ihre cloudbasierten Dateien im Datei-Explorer klicken.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemente und Attribute dieser Erweiterung
<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>
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.cloudfiles. |
| iconResource | Das Symbol, das Ihren Clouddateianbieterdienst darstellt. Dieses Symbol wird im Navigationsbereich des Datei-Explorers angezeigt. Benutzer wählen dieses Symbol aus, um Dateien aus Ihrem Clouddienst anzuzeigen. |
| CustomStateHandler CLSID | Die Klassen-ID der Anwendung, die den CustomStateHandler implementiert. Das System verwendet diese Klassen-ID, um benutzerdefinierte Statuswerte und Spalten für Clouddateien anzufordern. |
| ThumbnailProviderHandler CLSID | Die Klassen-ID der Anwendung, die den ThumbnailProviderHandler implementiert. Das System verwendet diese Klassen-ID, um Miniaturansichten für Clouddateien anzufordern. |
| ExtendedPropertyHandler Clsid | Die Klassen-ID der Anwendung, die den ExtendedPropertyHandler implementiert. Das System verwendet diese Klassen-ID, um erweiterte Eigenschaften für eine Clouddatei anzufordern. |
| Verb | Der Name, der im Kontextmenü des Datei-Explorers für Dateien angezeigt wird, die von Ihrem Clouddienst bereitgestellt werden. |
| Kennung | Die eindeutige ID des Verbs. |
Beispiel
<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>
Starten Sie Ihre Anwendung auf unterschiedliche Weise
- Starten Sie Ihre Anwendung mithilfe eines Protokolls
- Starten Sie Ihre Anwendung mithilfe eines Alias
- Starten einer ausführbaren Datei, wenn Benutzer sich bei Windows anmelden
- Ermöglichen, dass Benutzer Ihre Anwendung starten, wenn sie ein Gerät mit ihrem PC verbinden
- Automatisch neu starten, nachdem ein Update aus dem Microsoft Store erhalten wurde
Starten Sie Ihre Anwendung, indem Sie ein Protokoll verwenden
Protokollzuordnungen können es anderen Programmen und Systemkomponenten ermöglichen, mit Ihrer verpackten App zu arbeiten. Wenn Die verpackte Anwendung mithilfe eines Protokolls gestartet wird, können Sie bestimmte Parameter angeben, die an die Aktivierungsereignisargumente übergeben werden sollen, damit sie sich entsprechend verhalten kann. Parameter werden nur für gepackte, als vertrauenswürdig eingestufte Apps unterstützt. UWP-Apps können keine Parameter verwenden.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/uap/windows10/3
Elemente und Attribute dieser Erweiterung
<Extension
Category="windows.protocol">
<Protocol
Name="[Protocol name]"
Parameters="[Parameters]" />
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.protocol. |
| Name | Der Name des Protokolls. |
| Parameter | Die Liste der Parameter und Werte, die beim Aktivieren der Anwendung als Ereignisargumente an Ihre Anwendung übergeben werden sollen. Wenn eine Variable einen Dateipfad enthalten kann, schließen Sie den Parameterwert in Anführungszeichen um. So werden Probleme vermieden, die bei Pfaden mit Leerzeichen auftreten können. |
Beispiel
<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>
Starten Sie Ihre Anwendung mithilfe eines Alias
Benutzer und andere Prozesse können einen Alias verwenden, um Ihre Anwendung zu starten, ohne den vollständigen Pfad zu Ihrer App angeben zu müssen. Sie können diesen Aliasnamen angeben.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10/3http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemente und Attribute dieser Erweiterung
<uap3:Extension
Category="windows.appExecutionAlias"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="[AliasName]" />
</uap3:AppExecutionAlias>
</uap3:Extension>
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.appExecutionAlias. |
| Ausführbare Datei | Der relative Pfad zur ausführbaren Datei, die beim Aufrufen des Alias gestartet wird. |
| Alias | Der kurze Name für Ihre App. Er muss immer mit der Erweiterung „.exe“ enden. Für die einzelnen Anwendungen im Paket kann immer nur einzelner App-Ausführungsalias angegeben werden. Wenn sich mehrere Apps für denselben Alias registrieren, ruft das System die letzte App auf, die registriert wurde. Stellen Sie daher sicher, dass sie einen eindeutigen Alias auswählen, den andere Apps nicht außer Kraft setzen können. |
Beispiel
<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>
Die vollständige Schemareferenz findest du hier.
Starten einer ausführbaren Datei, wenn Benutzer sich bei Windows anmelden
Startaufgaben ermöglichen es Ihrer Anwendung, eine ausführbare Datei automatisch auszuführen, wenn sich ein Benutzer anmeldet.
Hinweis
Der Benutzer muss die Anwendung mindestens einmal starten, um diese Startaufgabe zu registrieren.
Ihre Anwendung kann mehrere Startaufgaben deklarieren. Jede Aufgabe wird unabhängig gestartet. Alle Startaufgaben werden im Task-Manager unter der Registerkarte "Start " mit dem Namen angezeigt, den Sie im Manifest Ihrer App und im Symbol Ihrer App angeben. Der Task-Manager analysiert automatisch die Auswirkungen auf den Start Ihrer Aufgaben.
Benutzer können die Startaufgabe Ihrer App mithilfe des Task-Managers manuell deaktivieren. Wenn ein Benutzer eine Aufgabe deaktiviert, können Sie sie nicht programmgesteuert erneut aktivieren.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemente und Attribute dieser Erweiterung
<Extension
Category="windows.startupTask"
Executable="[ExecutableName]"
EntryPoint="Windows.FullTrustApplication">
<StartupTask
TaskId="[TaskID]"
Enabled="true"
DisplayName="[DisplayName]" />
</Extension>
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.startupTask. |
| Ausführbare Datei | Der relative Pfad der ausführbaren Datei, die gestartet werden soll. |
| Aufgaben-ID | Ein eindeutiger Bezeichner für Ihre Aufgabe. Mit diesem Bezeichner kann Ihre Anwendung die APIs in der Windows.ApplicationModel.StartupTask-Klasse aufrufen, um eine Startaufgabe programmgesteuert zu aktivieren oder zu deaktivieren. |
| Aktiviert | Gibt an, ob die Aufgabe zunächst aktiviert oder deaktiviert ist. Aktivierte Aufgaben werden ausgeführt, wenn sich der Benutzer das nächste Mal anmeldet (es sei denn, der Benutzer deaktiviert sie). |
| Anzeigename | Der Name der Aufgabe, die im Task-Manager angezeigt wird. Du kannst diese Zeichenfolge mit ms-resource lokalisieren. |
Beispiel
<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>
Ermöglichen, dass Benutzer Ihre Anwendung starten, wenn sie ein Gerät mit ihrem PC verbinden
Du kannst deine Anwendung als Option für die automatische Wiedergabe anzeigen, wenn ein Benutzer ein Gerät an seinen PC anschließt.
XML-Namespace
http://schemas.microsoft.com/appx/manifest/desktop/windows10/3
Elemente und Attribute dieser Erweiterung
<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>
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.autoPlayHandler. |
| ActionDisplayName | Eine Zeichenfolge, die die Aktion darstellt, die Benutzer mit einem Gerät ausführen können, das sie mit einem PC verbinden (z. B. "Dateien importieren" oder "Video wiedergeben"). |
| ProviderDisplayName | Eine Zeichenfolge, die Ihre Anwendung oder Ihren Dienst darstellt (z. B. "Contoso-Videoplayer"). |
| ContentEvent | Der Name eines Inhaltsereignisses, durch das Benutzer eine Aufforderung zu deinem ActionDisplayName und ProviderDisplayName erhalten. Ein Inhaltsereignis wird ausgelöst, wenn ein Volumegerät wie etwa die Speicherkarte einer Kamera, eine DVD oder ein USB-Stick in den PC eingelegt bzw. daran angeschlossen wird. Hier finden Sie die vollständige Liste dieser Ereignisse. |
| Verb | Die Verb-Einstellung identifiziert einen Wert, der für die ausgewählte Option an Ihre Anwendung übergeben wird. Sie können mehrere Startaktionen für AutoPlay-Ereignisse angeben und mit der Einstellung Verb ermitteln, welche Option ein Benutzer für Ihre App ausgewählt hat. Für welche Option sich der Benutzer entschieden hat, erfahren Sie durch Überprüfen der verb-Eigenschaft der an die App übergebenen Startereignisargumente. Sie können einen beliebigen Wert für die Verb-Einstellung verwenden, außer "open", welcher reserviert ist. |
| DropTargetHandler | Die Klassen-ID der Anwendung, die die IDropTarget-Schnittstelle implementiert. Dateien von Wechselmedien werden an die Drop-Methode deiner IDropTarget-Implementierung übergeben. |
| Parameter | Sie müssen die IDropTarget Schnittstelle nicht für alle Inhaltsereignisse implementieren. Für jedes Inhaltsereignis könnten Sie Befehlszeilenparameter bereitstellen, anstatt die IDropTarget- Schnittstelle zu implementieren. Für diese Ereignisse startet AutoPlay Ihre Anwendung mithilfe dieser Befehlszeilenparameter. Sie können diese Parameter im Initialisierungscode Ihrer App verarbeiten, um zu ermitteln, ob sie von AutoPlay gestartet wurde, und anschließend Ihre eigene Implementierung anzubieten. |
| DeviceEvent | Der Name eines Geräteereignisses, bei dem Benutzer eine Aufforderung zu deinem ActionDisplayName und ProviderDisplayName erhalten. Ein Geräteereignis wird ausgelöst, wenn ein Gerät mit dem PC verbunden ist. Geräteereignisse beginnen mit der Zeichenfolge WPD und sind hier aufgelistet. |
| HWEventHandler | Die Klassen-ID der App, die die IHWEventHandler-Schnittstelle implementiert. |
| InitCmdLine | Der Zeichenfolgenparameter, den du an die Initialize-Methode der IHWEventHandler-Schnittstelle übergeben möchtest. |
Beispiel
<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>
Automatisch neu starten, nachdem ein Update aus dem Microsoft Store empfangen wurde
Wenn deine Anwendung geöffnet ist, wenn Benutzer ein Update installieren, wird die Anwendung geschlossen.
Wenn diese Anwendung nach Abschluss des Updates neu gestartet werden soll, rufen Sie die RegisterApplicationRestart-Funktion in jedem Prozess auf, den Sie neu starten möchten.
Jedes aktive Fenster in deiner Anwendung empfängt eine WM_QUERYENDSESSION-Nachricht. An diesem Punkt kann Ihre Anwendung die RegisterApplicationRestart-Funktion erneut aufrufen, um die Befehlszeile bei Bedarf zu aktualisieren.
Wenn jedes aktive Fenster in deiner Anwendung die WM_ENDSESSION-Nachricht empfängt, sollte die Anwendung die Daten speichern und herunterfahren.
Hinweis
Die aktiven Fenster empfangen außerdem die WM_CLOSE-Nachricht, falls die Anwendung die WM_ENDSESSION-Nachricht nicht verarbeitet.
An diesem Punkt hat Ihre Anwendung 30 Sekunden Zeit, um ihre eigenen Prozesse zu schließen, oder die Plattform beendet sie kraftvoll.
Nach Abschluss des Updates wird die Anwendung neu gestartet.
Arbeiten mit anderen Anwendungen
Integration in andere Apps, Starten anderer Prozesse oder Freigeben von Informationen.
- Lassen Sie Ihre Anwendung als Druckziel in Anwendungen erscheinen, die das Drucken unterstützen
- Freigeben von Schriftarten für andere Windows-Anwendungen
- Starten eines Win32-Prozesses aus einer UWP-App (Universelle Windows-Plattform)
Stellen Sie sicher, dass Ihre Anwendung als Druckziel in Anwendungen angezeigt wird, die das Drucken unterstützen
Wenn Benutzer Daten aus einer anderen Anwendung wie z. B. Editor drucken möchten, kannst du deine App als Druckziel in der Liste der verfügbaren Druckziele der App anzeigen lassen.
Sie müssen Ihre Anwendung so ändern, dass sie Druckdaten im XPS-Format (XML Paper Specification) empfängt.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/desktop/windows10/2
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.appPrinter">
<AppPrinter
DisplayName="[DisplayName]"
Parameters="[Parameters]" />
</Extension>
Die vollständige Schemareferenz findest du hier.
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.appPrinter. |
| Anzeigename | Der Name, der in der Liste der Druckziele für eine App angezeigt werden soll. |
| Parameter | Alle Parameter, die Ihre Anwendung benötigt, um die Anforderung ordnungsgemäß zu verarbeiten. |
Beispiel
<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>
Ein Beispiel zur Verwendung dieser Erweiterung findest du hier.
Freigeben von Schriftarten für andere Windows-Anwendungen
Teilen Sie Ihre benutzerdefinierten Schriftarten mit anderen Windows-Anwendungen. Beachten Sie, dass es zwei verschiedene Versionen der Erweiterungen für freigegebene Schriftarten gibt, die ein geringfügig anderes Verhalten aufweisen. Das Element "uap4:sharedFonts " ist ein untergeordnetes Element von "Application " und ist der Identität einer bestimmten Anwendung zugeordnet. Das Element "uap7:sharedFonts " bietet ähnliche Funktionen, ist jedoch ein untergeordnetes Paketelement und ist der Paketidentität zugeordnet, unabhängig davon, wie viele Apps das Paket enthält. Dazu gehören Pakete, die überhaupt keine Anwendungen enthalten.
Hinweis
Bevor Sie eine App übermitteln können, die diese Erweiterung an den Store verwendet, müssen Sie zuerst eine Genehmigung vom Store-Team erhalten. Um eine Genehmigung zu erhalten, wechseln Sie zu https://aka.ms/storesupport, klicken Sie auf "Kontaktieren Sie uns", und wählen Sie optionen aus, die für das Übermitteln von Apps an das Dashboard relevant sind. Dieser Genehmigungsprozess trägt dazu bei, sicherzustellen, dass es keine Konflikte zwischen Schriftarten gibt, die von Ihrer App installiert sind, und Schriftarten, die mit dem Betriebssystem installiert sind. Wenn Sie keine Genehmigung erhalten, erhalten Sie beim Übermitteln der App eine Fehlermeldung wie die folgende: "Fehler bei der Überprüfung der Paketakzeptanz: Sie können keine Erweiterung "windows.sharedFonts" mit diesem Konto verwenden. Wenden Sie sich an unser Supportteam, wenn Sie Berechtigungen für die Verwendung dieser Erweiterung anfordern möchten."
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/uap/windows10/4
http://schemas.microsoft.com/appx/manifest/uap/windows10/7
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.sharedFonts">
<SharedFonts>
<Font File="[FontFile]" />
</SharedFonts>
</Extension>
Die vollständige Schemareferenz finden Sie unter "uap4:SharedFonts " und "uap7:SharedFonts".
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.sharedFonts. |
| Datei | Die Datei, die die Schriftarten enthält, die Sie freigeben möchten. |
Beispiele
<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>
<Package
xmlns:uap4="http://schemas.microsoft.com/appx/manifest/uap/windows10/4"
IgnorableNamespaces="uap4">
<Applications>
<Application>
</Application>
</Applications>
<Extensions>
<uap7:Extension Category="windows.sharedFonts">
<uap7:SharedFonts>
<uap7:Font File="Fonts\JustRealize.ttf" />
<uap7:Font File="Fonts\JustRealizeBold.ttf" />
</uap7:SharedFonts>
</uap7:Extension>
</Extensions>
</Package>
Starten eines Win32-Prozesses aus einer UWP-App (Universelle Windows-Plattform)
Starte einen Win32-Prozess, der als vollständig vertrauenswürdig eingestuft wird.
XML-Namespaces
http://schemas.microsoft.com/appx/manifest/desktop/windows10
Elemente und Attribute dieser Erweiterung
<Extension Category="windows.fullTrustProcess" Executable="[executable file]">
<FullTrustProcess>
<ParameterGroup GroupId="[GroupID]" Parameters="[Parameters]"/>
</FullTrustProcess>
</Extension>
| Name | BESCHREIBUNG |
|---|---|
| Kategorie | Immer windows.fullTrustProcess. |
| Gruppen-ID | Eine Zeichenfolge, die einen Satz von Parametern identifiziert, die Sie an die ausführbare Datei übergeben möchten. |
| Parameter | Parameter, die Sie an die ausführbare Datei übergeben möchten. |
Beispiel
<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>
Diese Erweiterung kann nützlich sein, wenn Sie eine Benutzeroberfläche für die universelle Windows-Plattform erstellen möchten, die auf allen Geräten ausgeführt wird, aber Sie möchten, dass Komponenten Ihrer Win32-Anwendung weiterhin voll vertrauenswürdig ausgeführt werden.
Erstellen Sie einfach ein Windows-App-Paket für Ihre Win32-App. Fügen Sie diese Erweiterung dann der Paketdatei Ihrer UWP-App hinzu. Diese Erweiterungen geben an, dass Sie eine ausführbare Datei im Windows-App-Paket starten möchten. Wenn Sie zwischen Ihrer UWP-App und Ihrer Win32-App kommunizieren möchten, können Sie dazu einen oder mehrere App-Dienste einrichten. Weitere Informationen zu diesem Szenario findest du hier.
Nächste Schritte
Haben Sie Fragen? Fragen Sie uns auf Stack Overflow. Unser Team überwacht diese Tags. Du kannst uns auch hier fragen.
Windows developer