Dateityp und URI-Zuordnungsmodell
Plattformen
Clients – Windows 8
Server – Windows Server 2012
BESCHREIBUNG
Der Dateityp und das URI-Zuordnungsmodell wurden in Windows 8 geändert. Apps können sich nicht mehr programmgesteuert als Standardhandler für einen Dateityp oder URI festlegen. Stattdessen steuert der Benutzer jetzt immer, was der Standardhandler für einen Dateityp oder ein URI-Schema ist.
Manifestation
Wie diese Änderung für den Benutzer angezeigt wird, hängt davon ab, wie die App entworfen wird, z. B.:
- Viele Apps überprüfen bei jeder Ausführung, ob sie die Standardeinstellung sind, und fordern den Benutzer auf, sie als Standard festzulegen. Da Apps jedoch nicht mehr genau abfragen können, um zu bestimmen, welche App der Standardhandler für einen Dateityp oder ein URI-Schema ist, funktioniert keiner dieser Vorgänge.
- Viele Apps verfügen über ein Dialogfeld oder Menü, das in oder in ihrem Installationsprogramm integriert ist, das die Dateitypen angibt, für die die App als Standard verwendet werden soll. Da sich Apps jedoch nicht mehr programmgesteuert als Standardhandler für einen Dateityp oder ein URI-Schema festlegen können, funktioniert dies nicht mehr.
Minderung
Es gibt mehrere Möglichkeiten, die Benutzer tun können, um diese Änderungen zu berücksichtigen:
- Benutzer werden kontextbezogen aufgefordert, eine Standard-App auszuwählen, um Dateitypen, URI-Schemas oder beides zu behandeln, wenn keines angegeben wurde.
- Benutzern wird die Möglichkeit angeboten, ihren Standardhandler nach der Installation neuer Apps zu ändern, die einen Dateityp oder ein URI-Schema verarbeiten können.
- Mit der Systemsteuerung der Standardprogramme können Benutzer Standardwerte für eine App oder für einen Dateityp, ein URI-Schema oder beides festlegen. Apps können mit der Systemsteuerung verknüpft werden
- Die Standardwerte können von Windows Explorer geändert werden.
Lösung
Als Ergebnis dieser Änderungen wird dieser API-Leitfaden bereitgestellt:
Die Funktionalität einiger Methodenaufrufe innerhalb der IApplicationAssociationRegistration-API wurde geändert und sollte nicht mehr verwendet werden.
- Rufen SiequeryAppIsDefault/QueryAppIsDefaultAll nicht auf, um zu bestimmen, ob eine App die Standardeinstellung ist.
- Rufen SieQueryCurrentDefault nicht auf, um zu bestimmen, welche App (falls vorhanden) die aktuelle Standardeinstellung ist.
- Rufen SieSetAppIsDefault/SetAppIsDefaultAll nicht auf, um die Standard-App festzulegen.
Für die Zukunft gilt Folgendes:
Fragen Sie nicht ab, um festzustellen, welche App der Standardhandler für Dateitypen oder URI-Schemas ist.
Versuchen Sie nicht , Änderungen im Standardhandler für Dateitypen oder URI-Schemas zu überwachen.
Versuchen Sie nicht , eine App als Standardhandler für Dateitypen oder URI-Schemas festzulegen.
Versuchen Sie nicht , Standardeinstellungen für Dateitypen oder URI-Schemas in einer App zu verwalten.
Integrieren Sie die Systemsteuerung Standardprogramme festlegen , wenn Sie Benutzern Ihrer App den Zugriff auf die Standardverwaltungsoberfläche ermöglichen möchten (die Verwaltungsoberfläche innerhalb der App wird nicht mehr unterstützt).
- Durch Aufrufen von IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI kann der Benutzer auf die Systemsteuerungsseite "Standardprogramme festlegen" für die angegebene App zugreifen.
Tests
- Testen, um zu überprüfen, ob Apps in der Systemsteuerung "Standardprogramme festlegen" ordnungsgemäß registriert werden
- Testen Sie, ob Apps ordnungsgemäß registriert werden, damit sie in der OpenWith-Liste für die Dateitypen, URI-Schemas oder beides angezeigt werden, die sie für die Verarbeitung registrieren.
- Testen Sie, ob neue App-Benachrichtigungen angezeigt werden, nachdem Ihre App installiert wurde und der Benutzer einen Dateityp, ein URI-Schema oder beides aufruft, die Ihre App für die Verarbeitung registriert hat.
Ressourcen
- Bewährte Methoden für Dateityp- und URI-Zuordnungen in Windows 8 Desktop-Apps
- Dateitypzuordnungen und Automatisches Wiedergeben von Buildkonferenzpräsentationen