Modelo de asociaciones de tipo de archivo y URI
Plataformas
Clientes: Windows 8
Servidores: Windows Server 2012
Descripción
El tipo de archivo y el modelo de asociación de URI han cambiado en Windows 8. Las aplicaciones ya no pueden establecerse mediante programación como el controlador predeterminado para un tipo de archivo o URI. En su lugar, ahora el usuario siempre controla lo que el controlador predeterminado es para un tipo de archivo o esquema URI.
Manifestación
El modo en que este cambio se presenta al usuario depende de cómo se diseñe la aplicación, por ejemplo:
- Muchas aplicaciones comprueban si son el valor predeterminado cada vez que se ejecutan y, si no lo son, pide al usuario que lo establezca como predeterminado. Sin embargo, dado que las aplicaciones ya no pueden consultar con precisión para determinar qué aplicación es el controlador predeterminado de un tipo de archivo o esquema de URI, ninguna de estas operaciones funciona.
- Muchas aplicaciones tienen un cuadro de diálogo o menú integrado o en su instalador que especifica los tipos de archivo para los que la aplicación debe servir como valor predeterminado. Sin embargo, dado que las aplicaciones ya no se pueden establecer mediante programación como controlador predeterminado para un tipo de archivo o esquema URI, esto ya no funciona.
Mitigación
Hay varias cosas que los usuarios pueden hacer para adaptarse a estos cambios:
- Se pide a los usuarios contextualmente que elijan una aplicación predeterminada para controlar los tipos de archivo, los esquemas de URI o ambos cuando no se haya especificado uno.
- A los usuarios se les ofrece la opción de cambiar su controlador predeterminado después de instalar nuevas aplicaciones que pueden controlar un tipo de archivo o un esquema de URI.
- El panel de control de programas predeterminados permite a los usuarios establecer valores predeterminados para una aplicación o para un tipo de archivo, esquema de URI o ambos; Las aplicaciones pueden vincularse al panel de control
- Los valores predeterminados se pueden cambiar desde el Explorador de Windows
Solución
Como resultado de estos cambios, se proporciona esta guía de API:
La funcionalidad de algunas llamadas de método dentro de la API IApplicationAssociationRegistration ha cambiado y ya no se debe usar.
- No llame a QueryAppIsDefault/QueryAppIsDefaultAll para determinar si una aplicación es la predeterminada.
- No llame a QueryCurrentDefault para determinar qué aplicación (si existe) es el valor predeterminado actual.
- No llame a SetAppIsDefault/SetAppIsDefaultAll para establecer la aplicación predeterminada.
La guía en el futuro es:
No consultar para ver qué aplicación es el controlador predeterminado para tipos de archivo o esquemas de URI
No intente supervisar los cambios en el controlador predeterminado para tipos de archivo o esquemas de URI
No intente establecer una aplicación como controlador predeterminado para tipos de archivo o esquemas de URI
No intente administrar los valores predeterminados de los tipos de archivo o esquemas de URI desde dentro de una aplicación
Realice la integración con el panel de control Establecer programas predeterminados si desea permitir que los usuarios de la aplicación accedan a la interfaz de usuario de administración predeterminada (la interfaz de usuario de administración dentro de la aplicación ya no se admite).
- Llamar a IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI permite al usuario acceder a la página del panel de control "Establecer programas predeterminados" para la aplicación especificada.
Pruebas
- Prueba para comprobar que las aplicaciones se registran correctamente en el panel de control Establecer programas predeterminados
- Prueba para comprobar que las aplicaciones se registran correctamente en la lista OpenWith para los tipos de archivo, esquemas de URI o ambos, que se registran para controlar
- Prueba para comprobar que las nuevas notificaciones de aplicación aparecen después de instalar la aplicación y el usuario invoca un tipo de archivo, un esquema de URI o ambos, que la aplicación se ha registrado para controlar
Recursos
- Procedimientos recomendados para asociaciones de tipo de archivo y URI en aplicaciones de escritorio de Windows 8
- Asociaciones de tipo de archivo y presentación de conferencia de compilación de reproducción automática