Control de versiones del sistema operativo

Plataformas afectadas

Clientes : Windows 7
Servidores : Windows Server 2008 R2

Impacto en las características

Gravedad : alta
Frecuencia : alta

Descripción

El número de versión interna para Windows 7 y Windows Server 2008 R2 es 6.1. La función GetVersion devolverá ahora este número de versión a las aplicaciones cuando se consulte. Esto es especialmente importante para antivirus, copia de seguridad, aplicaciones de utilidad y protección de copia.

Manifestación del impacto

La manifestación de este cambio es específica de la aplicación. Esto significa que cualquier aplicación que compruebe específicamente la versión del sistema operativo obtendrá un número de versión superior, lo que puede provocar una o varias de las situaciones siguientes:

  • Es posible que los instaladores de aplicaciones no puedan instalar la aplicación y es posible que las aplicaciones no puedan iniciarse.
  • Es posible que las aplicaciones se vuelvan inestables o se bloqueen
  • Las aplicaciones pueden generar mensajes de error, pero seguir funcionando correctamente

Mitigación

La mayoría de las aplicaciones funcionarán correctamente en Windows 7 y Windows Server 2008 R2 porque la compatibilidad de aplicaciones en Windows 7 y Windows Server 2008 R2 es muy alta. Sin embargo, Windows 7 y Windows Server 2008 R2 incluyen una vista de compatibilidad para instaladores y aplicaciones que comprueban la versión del sistema operativo.

Para habilitar la vista de compatibilidad, los usuarios pueden hacer clic con el botón derecho en el acceso directo o en el archivo ejecutable y, a continuación, aplicar la vista de compatibilidad de Windows XP SP2 o Windows Vista desde la pestaña Compatibilidad. En la mayoría de los casos, esto debe permitir que la aplicación funcione correctamente sin necesidad de realizar cambios en la aplicación.

Los profesionales de TI también pueden aplicar cualquiera de las correcciones de compatibilidad de VersionLie aplicables, mediante la herramienta Administrador de compatibilidad, que se instala con application Compatibility Toolkit (ACT). Por ejemplo, si una aplicación no funciona porque está comprobando la información de la versión de Windows XP® con Service Pack 2 (SP2), se puede aplicar winXPSP2VersionLie para devolver la información de número de versión adecuada a la aplicación, independientemente de la versión real del sistema operativo que se ejecuta en el equipo. Las correcciones de compatibilidad versionLie disponibles son:

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

Solución

Por lo general, las aplicaciones no deben realizar comprobaciones de versión del sistema operativo. Si una aplicación necesita una característica específica, es preferible intentar encontrar la característica y producir un error solo si falta la característica necesaria. Como mínimo, las aplicaciones siempre deben aceptar números de versión mayores o iguales que la versión más baja admitida del sistema operativo. Las excepciones solo deben producirse si hay un requisito legal, empresarial o componente específico del sistema.