Configuração por aplicativo no Windows XP
No Windows XP, a configuração por aplicativo substitui de configuração padrão e de configuração do editor por aplicativo. Isso redireciona a dependência de um aplicativo específico de uma versão de um assembly lado a lado para outra versão especificada do assembly.
Observação
A partir do Windows Server 2003, a configuração por aplicativo substitui de configuração do editor por aplicativo somente se o arquivo de configuração do aplicativo especificar apply="no" em publisherPolicy e houver uma entrada correspondente presente no banco de dados de compatibilidade de aplicativos. A configuração por aplicativo sempre substitui a configuração padrão . Para obter informações, consulte configuração por aplicativo.
Uma configuração por aplicativo pode se tornar necessária se a operação correta de um aplicativo específico exigir uma versão de assembly diferente da versão normalmente especificada como configuração padrão ou de editor. Por exemplo, uma atualização global da versão do assembly pelo editor pode corrigir o assembly, mas quebrar esse aplicativo específico. Nesse caso, a configuração por aplicativo pode ser usada para permitir que o aplicativo continue a ser executado com a versão anterior do assembly. Outro exemplo, uma instalação de service pack contendo uma atualização de assembly pode usar de configuração do editor para redirecionar as dependências de todos os aplicativos e assemblies no sistema da versão 1.0.0.0 para 1.0.1.0. Se houver um aplicativo que requer a versão 1.0.0.0 para funcionar corretamente, ele pode ser redirecionado para a versão 1.0.0.0 usando a configuração por aplicativo.
Os administradores de aplicativos podem implementar uma configuração por aplicativo criando e instalando arquivos de configuração do aplicativo. Eles redirecionam um aplicativo específico da dependência de uma versão de um assembly lado a lado para a dependência de outra versão. arquivos de de configuração do aplicativo podem substituir arquivos de configuração do editor e a configuração padrão especificada por aplicativo manifesta e assembly manifesta. O arquivo de configuração do aplicativo inclui informações usadas pelo carregador quando CreateProcess é chamado.
Para configurar um aplicativo para substituir o manifesto do aplicativo e a configuração do editor, um desenvolvedor deve criar um arquivo de configuração do aplicativo. O arquivo de configuração do aplicativo é então implantado e instalado na mesma pasta que o arquivo executável do aplicativo. Para obter uma listagem do esquema de arquivo, consulte Application Configuration File Schema.
Observe que, se seu aplicativo usar a configuração por aplicativo, ele não receberá nenhuma correção de segurança importante ou correções de bugs que o editor do assembly possa emitir como arquivos de configuração do editor. Um aplicativo que usa a configuração por aplicativo pode, portanto, permanecer inseguro ou continuar a funcionar incorretamente mesmo depois que um novo assembly com essas correções é aplicado ao sistema. Por esse motivo, os desenvolvedores de aplicativos nunca devem enviar um aplicativo com uma configuração por aplicativo. A configuração por aplicativo só deve ser usada por administradores corporativos como uma correção temporária quando o aplicativo é interrompido por uma configuração de editor. Nesse caso, a solução permanente é que os desenvolvedores do assembly e os desenvolvedores do aplicativo precisarão trabalhar juntos para garantir que os assemblies com configuração do editor sejam totalmente compatíveis com versões anteriores.
A seguir está um exemplo de um arquivo de configuração do aplicativo. Para obter mais informações, consulte Application Configuration Files.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
<windows>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity
name="Microsoft.Windows.mysampleApp"
processorArchitecture="x86"
version="1.0.0.0" type="win32"/>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.SampleAssembly"
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
<bindingRedirect
oldVersion="2.0.0.0"
newVersion="2.0.1.0"/>
</dependentAssembly>
</assemblyBinding>
</windows>
</configuration>