Tipo de arquivo e modelo de associações de URI
Plataformas
Clientes – Windows 8
Servidores – Windows Server 2012
Descrição
O tipo de arquivo e o modelo de associação de URI foram alterados em Windows 8. Os aplicativos não são mais capazes de definir-se programaticamente como o manipulador padrão para um tipo de arquivo ou URI. Em vez disso, agora o usuário sempre controla o que é o manipulador padrão para um tipo de arquivo ou esquema de URI.
Manifestação
A forma como essa alteração é apresentada ao usuário depende de como o aplicativo foi projetado, por exemplo:
- Muitos aplicativos marcar para ver se eles são o padrão toda vez que são executados e, se não forem, solicitam que o usuário os defina como padrão. No entanto, como os aplicativos não podem mais consultar com precisão para determinar qual aplicativo é o manipulador padrão para um tipo de arquivo ou esquema de URI, nenhuma dessas operações funciona.
- Muitos aplicativos têm uma caixa de diálogo ou menu interno ou em seu instalador que especifica os tipos de arquivo para os quais o aplicativo deve servir como padrão. No entanto, como os aplicativos não podem mais se definir programaticamente como o manipulador padrão para um tipo de arquivo ou esquema de URI, isso não funciona mais.
Atenuação
Há várias coisas que os usuários podem fazer para acomodar essas alterações:
- Os usuários são solicitados contextualmente a escolher um aplicativo padrão para lidar com tipos de arquivo, esquemas de URI ou ambos quando um não tiver sido especificado
- Os usuários recebem a opção de alterar seu manipulador padrão depois de instalar novos aplicativos que podem lidar com um tipo de arquivo ou esquema de URI
- O painel de controle de programas padrão permite que os usuários definam padrões para um aplicativo ou para um tipo de arquivo, esquema de URI ou ambos; os aplicativos podem vincular ao painel de controle
- Os padrões podem ser alterados do Windows Explorer
Solução
Como resultado dessas alterações, essas diretrizes de API são fornecidas:
A funcionalidade de algumas chamadas de método dentro da API IApplicationAssociationRegistration foi alterada e não deve mais ser usada.
- Não chame QueryAppIsDefault/QueryAppIsDefaultAll para determinar se um aplicativo é o padrão
- Não chame QueryCurrentDefault para determinar qual aplicativo (se houver) é o padrão atual
- Não chame SetAppIsDefault/SetAppIsDefaultAll para definir o aplicativo padrão
A orientação daqui para frente é:
Não consultar para ver qual aplicativo é o manipulador padrão para tipos de arquivo ou esquemas de URI
Não tente monitorar as alterações no manipulador padrão para tipos de arquivo ou esquemas de URI
Não tente definir um aplicativo como o manipulador padrão para tipos de arquivo ou esquemas de URI
Não tente gerenciar padrões para tipos de arquivo ou esquemas de URI de dentro de um aplicativo
Integre-se ao painel de controle Definir Programas Padrão se você quiser permitir que os usuários do aplicativo acessem a interface do usuário de gerenciamento padrão (a interface do usuário de gerenciamento dentro do aplicativo não tem mais suporte)
- Chamar IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI permite que o usuário acesse a página do painel de controle 'Definir Programas Padrão' para o aplicativo especificado
Testes
- Testar para verificar se os aplicativos se registram corretamente no painel de controle Definir Programas Padrão
- Teste para verificar se os aplicativos se registram corretamente para aparecer na lista OpenWith para os tipos de arquivo, esquemas de URI ou ambos, que eles registram para manipular
- Teste para verificar se novas notificações de aplicativo aparecem depois que seu aplicativo é instalado e o usuário invoca um tipo de arquivo, um esquema de URI ou ambos, que seu aplicativo registrou para manipular
Recursos
- Práticas recomendadas para associações de URI e tipo de arquivo em aplicativos da área de trabalho Windows 8
- Apresentação de conferência de compilação de tipo de arquivo e reprodução automática