Cómo: Capas de compatibilidad de la secuencia de comandos en Windows XP

Resumen

Windows XP incluye tecnología para aplicar revisiones de compatibilidad para programas que no están diseñados para ejecutarse en Windows XP de forma dinámica. Las correcciones de compatibilidad se proporcionan para ayudar a una versión anterior de un programa para evitar cualquier problema que pueda surgir debido a los cambios en este nuevo sistema operativo. Estas correcciones de compatibilidad pueden utilizarse individualmente o en grupos listos para usar que denominan capas de compatibilidad. Estas capas se han definido para varias configuraciones habituales.

Un ejemplo es una capa que proporciona la compatibilidad corrige necesarias para un programa que se ha escrito específicamente para Microsoft Windows 95. Este artículo describe cómo puede incluir capas de compatibilidad en Windows XP.


Aplicar capas de compatibilidad

Microsoft ha creado una serie de herramientas para que el uso de las tecnologías de compatibilidad accesibles a través de herramientas de interfaz gráfica de usuario y desde el símbolo del sistema. Normalmente, las herramientas GUI son el método preferido para aplicar revisiones de compatibilidad o capas, pero en ocasiones puede haber casos donde las capas se deben aplicar a través de un secuencia de comandos o archivo por lotes. En este artículo se explica cómo aplicar una corrección de compatibilidad a través de un secuencia de comandos o archivo por lotes.

La sintaxis de comandos siguiente debe utilizarse al aplicar capas de compatibilidad en archivos por lotes o secuencias de comandos:
set __COMPAT_LAYER=[!]layer_name1 [layer_name2 ...]
Nota: hay un espacio seguido de dos caracteres de subrayado (_) entre "set" y "COMPAT" en la sintaxis de este comando. El comando no funciona sin los dos caracteres de subrayado.

Layer_name: El nombre corto de la capa de compatibilidad que se aplica.
[!] Capas no deben agregarse a las revisiones de compatibilidad existentes en los archivos de base de datos.

Nota: los nombres de capas de compatibilidad deben estar separados por un espacio.

Por ejemplo:

set __COMPAT_LAYER=Win95 DisableThemes
set __COMPAT_LAYER=!Win95 DisableThemes

Para deshabilitar la capa de compatibilidad después de que se ha aplicado de esta manera, utilice el mismo comando sin especificar una capa de compatibilidad.

Por ejemplo:
set __COMPAT_LAYER=
Cada una de las capas de compatibilidad más habituales tiene una versión abreviada de su nombre que puede utilizarse con el comando set __COMPAT_LAYER en una secuencia de comandos.

La lista de capas de compatibilidad disponibles incluye el siguiente nombre corto y su nombre completo:

  • DisableThemes - deshabilitar los temas visuales
  • ProfilesSetup - soporte de configuración de perfil
  • 256Color - 256 colores
  • 640 x 480 - resolución de pantalla de 640 x 480
  • Windows 95 - Windows 95
  • Windows 98 - Windows 98 / Windows Me
  • Win2000 - Windows 2000
  • NT4SP5 - Windows NT 4.0 Service Pack 5
Al aplicar capas de compatibilidad de esta manera, se asegura también que la capa de compatibilidad se aplica de forma repetitiva a cualquier otro proceso que podría generar los comandos en el archivo de proceso por lotes. Después de alcanzar un punto en la secuencia de comandos o archivo por lotes donde la capa de compatibilidad ya no es necesaria, cancele la capa con el comando set __COMPAT_LAYER sin especificar una capa de compatibilidad. Los procesos que se iniciaran mientras la capa de compatibilidad estaba activa seguirán ejecutándose en la capa de compatibilidad hasta que concluyan.


Solución de problemas

Como un ejemplo de cómo implementar este comando, considere el siguiente escenario: tiene un archivo por lotes que realiza varias tareas de configuración vitales antes de iniciar un programa. El programa requiere una serie de correcciones de compatibilidad que se incluyen en la capa de compatibilidad de Windows 95. Si la capa de compatibilidad debe aplicarse únicamente al programa Setup.exe y no a los procesos que puede generar Setup.exe, son preferibles las herramientas GUI. A continuación, haga clic en el archivo .bat o .cmd y aplique la capa de compatibilidad al archivo por lotes.

El siguiente ejemplo muestra una parte de un archivo por lotes que podría utilizarse en este tipo de escenario:

MD C:\Program programa\MiEmpresa\MiAplicación
Copiar D:\i386\*.* C:\Program programa\MiEmpresa\MiAplicación
C:\Program Files\MyCompany\MyApp\Setup.exe
Si el programa Setup.exe requiere las revisiones de compatibilidad proporcionadas por la capa de compatibilidad de Windows 95, y deben aplicarse de forma recursiva a cualquier proceso generado por Setup.exe, las herramientas GUI no son adecuadas. Puede resolver este problema incluyendo el comando siguiente en el archivo de proceso por lotes antes de llamar al programa que requiere la capa de compatibilidad:

MD C:\Program programa\MiEmpresa\MiAplicación
Copiar D:\i386\*.* C:\Program programa\MiEmpresa\MiAplicación
Set __COMPAT_LAYER = Win95
C:\Program Files\MyCompany\MyApp\Setup.exe
Este modo aplica la capa de compatibilidad de Windows 95 al programa Setup.exe y recursivamente a cualquier proceso generado por Setup.exe.

Esta técnica puede utilizarse en archivos por lotes, como se muestra en el ejemplo anterior, y puede también ser aplicado con éxito en secuencias de comandos de inicio de sesión. Esto proporciona a los administradores de red una solución a los problemas causados por programas que requieren capas de compatibilidad y que se debe llamar a través de un archivo por lotes, donde el programa puede generar otros procesos.



Referencias

Propiedades

Id. de artículo: 286705 - Última revisión: 24 ene. 2017 - Revisión: 2

Comentarios