Controle de versão do sistema operacional

Plataformas afetadas

Clientes – Windows 7
Servidores – Windows Server 2008 R2

Impacto do recurso

Severidade – Alta
Frequência – Alta

Descrição

O número de versão interno para Windows 7 e Windows Server 2008 R2 é 6.1. A função GetVersion agora retornará esse número de versão para aplicativos quando consultado. Isso é especialmente importante para AntiVírus, backup, aplicativos utilitários e proteção de cópia.

Manifestação de impacto

A manifestação dessa alteração é específica do aplicativo. Isso significa que qualquer aplicativo que verifica especificamente a versão do sistema operacional obterá um número de versão mais alto, o que pode levar a uma ou mais das seguintes situações:

  • Os instaladores de aplicativos podem não conseguir instalar o aplicativo, e os aplicativos podem não ser capazes de iniciar
  • Os aplicativos podem se tornar instáveis ou falhar
  • Os aplicativos podem gerar mensagens de erro, mas continuam funcionando corretamente

Atenuação

A maioria dos aplicativos funcionará corretamente no Windows 7 e no Windows Server 2008 R2 porque a compatibilidade do aplicativo no Windows 7 e no Windows Server 2008 R2 é muito alta. No entanto, o Windows 7 e o Windows Server 2008 R2 incluem uma Exibição de Compatibilidade para instaladores e aplicativos que marcar para a versão do sistema operacional.

Para habilitar a exibição de compatibilidade, os usuários podem clicar com o botão direito do mouse no atalho ou no arquivo executável e, em seguida, aplicar o Windows XP SP2 ou o Modo de Exibição de Compatibilidade do Windows Vista na guia Compatibilidade. Na maioria dos casos, isso deve permitir que o aplicativo opere corretamente sem a necessidade de alterações no aplicativo.

Os profissionais de TI também podem aplicar qualquer uma das correções de compatibilidade VersionLie aplicáveis usando a ferramenta Administrador de Compatibilidade, que é instalada com o ACT (Application Compatibility Toolkit). Por exemplo, se um aplicativo não funcionar porque está verificando, mas não encontrando, o Windows XP® com informações de versão do Service Pack 2 (SP2), o WinXPSP2VersionLie pode ser aplicado para retornar as informações de número de versão adequadas ao aplicativo, independentemente da versão real do sistema operacional que está em execução no computador. As correções de compatibilidade VersionLie disponíveis são:

  • Win95VersionLie
  • Win98VersionLie
  • WinNT4SP5VersionLie
  • Win2000VersionLie
  • Win2000SP1VersionLie
  • Win2000SP2VersionLie
  • Win2000SP3VersionLie
  • WinXPVersionLie
  • WinXPSP1VersionLie
  • WinXPSP2VersionLie
  • VistaRTMVersionLie
  • VistaSP1VersionLie
  • VistaSP2VersionLie
  • Win2K3RTMVersionLie
  • Win2K3SP1VersionLie

Solução

Em geral, os aplicativos não devem executar verificações de versão do sistema operacional. Se um aplicativo precisar de um recurso específico, é preferível tentar localizar o recurso e falhar somente se o recurso necessário estiver ausente. No mínimo, os aplicativos sempre devem aceitar números de versão maiores ou iguais à versão mais baixa com suporte do sistema operacional. As exceções só devem ocorrer se houver um requisito legal, comercial ou de componente do sistema específico.