PROCEDIMENTOS: Camadas de compatibilidade de script no Windows XP

Traduções deste artigo Traduções deste artigo
ID do artigo: 286705 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi publicado anteriormente em BR286705
Expandir tudo | Recolher tudo

Neste artigo

Sumário

O Windows XP inclui tecnologia para aplicar dinamicamente correções de compatibilidade a programas que não foram criados para serem executados nele. As correções de compatibilidade são fornecidas para ajudar uma versão mais antiga de um programa a evitar qualquer problema que possa surgir por causa de alterações nesse novo sistema operacional. Essas correções de compatibilidade podem ser usadas individualmente ou em grupos prontos para uso, chamados de camadas de compatibilidade. Essas camadas foram definidas para várias configurações normalmente encontradas.

Um exemplo é uma camada que fornece as correções de compatibilidade necessárias para um programa que foi criado especificamente para o Microsoft Windows 95. Este artigo descreve como é possível criar script de camadas de compatibilidade no Windows XP.


Aplicando camadas de compatibilidade

A Microsoft criou uma série de ferramentas para tornar o uso das tecnologias de compatibilidade acessível por meio de ferramentas da interface gráfica do usuário (GUI) e do prompt de comando. Normalmente, as ferramentas da GUI são o método preferencial de aplicação das correções ou camadas de compatibilidade, mas, ocasionalmente, você pode encontrar situações nas quais as camadas devem ser aplicadas por meio de um script ou arquivo em lote. Este artigo explica como aplicar uma correção de compatibilidade por meio de um script ou arquivo em lote.

A sintaxe de comando a seguir deve ser usada durante a aplicação de camadas de compatibilidade em arquivos em lote ou scripts:
set __COMPAT_LAYER=[!]layer_name1 [layer_name2 ...]
OBSERVAÇÃO: há um espaço seguido por dois sublinhados (_) entre "set" e "COMPAT", na sintaxe desse comando. O comando não funciona sem ambos os sublinhados.

Nome_da_camada: o nome abreviado da camada de compatibilidade que está sendo aplicada.
[!] As camadas não devem ser adicionadas às correções de compatibilidade existentes nos arquivos de banco de dados.

OBSERVAÇÃO: os nomes de camada de compatibilidade devem ser separados por um espaço.

Por exemplo:
set __COMPAT_LAYER=Win95 DisableThemes

set __COMPAT_LAYER=!Win95 DisableThemes
Para desativar a camada de compatibilidade após ela ter sido aplicada dessa maneira, use o mesmo comando sem especificar uma camada de compatibilidade.

Por exemplo:
set __COMPAT_LAYER=
Cada uma das camadas de compatibilidade mais comuns possui uma versão abreviada do nome que pode ser usada com o comando set __COMPAT_LAYER em um script.

A lista de camadas de compatibilidade disponíveis inclui o nome abreviado e o nome completo:
  • DisableThemes - Disable Visual Themes
  • ProfilesSetup - Profile Setup Support
  • 256Color - 256 Color
  • 640x480 - 640 x 480 Screen Resolution
  • Win95 - Windows 95
  • Win98 - Windows 98 / Windows Me
  • Win2000 - Windows 2000
  • NT4SP5 - Windows NT 4.0 SP 5
Quando você aplica camadas de compatibilidade dessa maneira, também assegura que a camada de compatibilidade seja passada de forma recursiva para qualquer outro processo que poderia ser gerado pelos comandos no arquivo em lote. Após atingir um ponto no script ou arquivo em lote no qual a camada de compatibilidade não é mais necessária, cancele a camada com o comando set __COMPAT_LAYER, sem especificar uma camada de compatibilidade. Qualquer processo iniciado enquanto a camada de compatibilidade estava sendo aplicada continuará a ser executado sob a camada de compatibilidade até que seja encerrado.


Solução de problemas

Para obter um exemplo de como é possível implementar esse comando, considere o seguinte cenário: você tem um arquivo em lote que executa várias tarefas vitais de configuração antes de um programa ser iniciado. O programa exige que várias correções de compatibilidade sejam incluídas na camada de compatibilidade do Windows 95. Se a camada de compatibilidade precisar ser aplicada somente ao programa Setup.exe e não a qualquer processo que ele possa gerar, as ferramentas da GUI serão as preferenciais. Basta então clicar com o botão direito do mouse no arquivo .bat ou .cmd e aplicar a camada de compatibilidade ao arquivo em lote.

O exemplo a seguir ilustra uma parte de um arquivo em lote que pode ser usado nesse tipo de cenário:
Md C:\Arquivos de programas\Minha empresa\Meus applicativos
Copy D:\i386\*.* C:\Arquivos de programas\Minha empresa\Meus aplicativos
C:\Arquivos de programas\Minha empresa\Meus aplicativos\Setup.exe
As ferramentas da GUI não serão apropriadas, caso o programa Setup.exe requeira correções de compatibilidade fornecidas pela camada de compatibilidade do Windows 95 e precisem ser passadas de forma recursiva para qualquer processo gerado pelo Setup.exe. Isso pode ser resolvido pela inclusão do comando a seguir no arquivo em lote, antes que você chame o programa que exige a camada de compatibilidade:
Md C:\Arquivos de programas\Minha empresa\Meus aplicativos
Copy D:\i386\*.* C:\Arquivos de programas\Minha empresa\Meus aplicativos
set __COMPAT_LAYER=Win95
C:\\Arquivos de programas\Minha empresa\Meus aplicativos\Setup.exe
Isso aplica efetivamente a camada de compatibilidade do Windows 95 ao programa Setup.exe e de forma recursiva a qualquer processo gerado por ele.

Essa técnica pode ser usada em arquivos em lote, conforme mostrado no exemplo anterior, e pode também ser aplicada com êxito a scripts de logon. Ela fornece aos administradores de rede uma solução para os problemas gerados por qualquer programa que exija camadas de compatibilidade e que precise ser chamado por meio de um arquivo em lote no qual o programa pode gerar outros processos.


REFERÊNCIAS








Propriedades

ID do artigo: 286705 - Última revisão: sexta-feira, 2 de novembro de 2001 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
Palavras-chave: 
kbhowto kbhowtomaster kbtool KB286705

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com