Herramientas de Compatibilidad de Aplicaciones - Shims & Compatibility Administrator © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Objetivos de la sesión Entender la infraestructura de shim de Windows Entender como comprobar los arreglos de compatibilidad y los modos de compatibilidad usando el Compatibility Administrator Entender cómo se crea una base de datos personalizada con shim/s Entender cómo se despliega una base se datos personalizada con shim/s
¿Por qué shims? Los componentes de Windows cambian: Nueva tecnología Arreglo de errores Cambios de estrategia Arreglos al nivel del sistema operativo puede arreglar una cosa pero romper otra Necesitamos una manera de simular versiones anteriores de Windows SÓLO para una aplicación en particular
Recuperar las APIS en las que va anclado 4/12/2017 11:48 AM ¿Qué es un shim? Un shim es una DLL que implementa uno o varios anclajes a APIs de Windows API, diciendo al motor de shim qué anclaje se implementa El motor del shim es el responsable de aplicar los shims: Cargar el shim DLL Recuperar las APIS en las que va anclado Revisar la tabla de importación de la aplicación para determinar dónde anclarse Sobrescribir la dirección de las llamada a las APIs con la dirección del shim Note: some applications will actively block efforts to shim, so this will not work.
Cómo se cargan los shims Los shims se aplican por ejecutable Se mapea el ejecutable y se vincula estáticamente en memoria El motor del shim se aplica y se ancla al API Ejecución rutinas de inicialización
Shims y layers Aplicación Aplicación hija Shim Layer Windows
Determinar los shims a cargar El motor de shim es llamado por Kernel32!CreateProcessInternalW El motor de shims compara los atributos de los ejecutables que se cargan: Nombre de producto Versión de producto Nombre de compañía Tamaño Checksum Etc.
Información a comprobar
Múltiples shims Un ejecutable puede tener más de un shim aplicado Recuerde: cada shim puede anclarse en más de un API Múltiples shims pueden anclarse en el mismo API para un ejecutable Cuando esto ocurra el motor de los shims se ancla en el orden inverso El desarrollador del shim puede especificar el modo de correspondencia (normal, añadido o exclusivo)
Modos de compatibilidad (Layers) Los modos de compatibilidad son una colección de shims los cuáles se usan para cubrir escenarios particulares, como emular un sistema operativo específico Algunos modos de compatibilidad se muestran en la pestaña de compatibilidad de las propiedades de los ejecutables
Base de datos de shims El motor de los shims guarda la información de comprobación de la aplicación y las DLLs del shim en una base de datos de shims (*.sdb) Las bases de datos de shims de problemas de compatibilidad conocidos se despliegan con Windows y se actualizan vía Windows Update La base de datos de shims se guardan en %windir%\apppatch Las bases de datos personalizadas se pueden crear y guardar en %windir%\apppatch\custom
Compatibility Administrator: Shims 4/12/2017 11:48 AM Compatibility Administrator: Shims
AppHelp No todos los problemas de compatibilidad se pueden resolver con shims Cuando todo lo demás falla, aplica un AppHelp, el cual muestra un cuadro de diálogo Bloqueando: Aparece el diálogo y la no se permite la ejecución de la aplicación No-bloqueante: un cuadro de diálogo aparece advirtiendo al usuario, pero puede elegir ejecutar la aplicación
Crear SDBs personalizadas El motor de shims de Windows Vista es extensible – organizaciones e individuales puede crear bases de datos personalizadas para resolver sus problemas de compatibilidad Se pueden crear bases de datos personalizadas con el Compatibility Administrator (CompatAdmin)
Desplegar SDBs personalizados Copiar el SDB a la máquina destino Login script Políticas de grupo Copia de archivo Llamar el %windir%\system32\sdbinst.exe sdbinst [-?] [-q] [-u] [-g] [-p] [-n[:WIN32|WIN64]] foo.sdb | {guid} | "name“ -p – Permite SDBs que contienen los parches. -q – Modo silencioso. -u – Desinstalación. -g {guid} – Archivo de GUID (sólo desinstalación). -n "name" – Nombre interno del archivo (sólo desinstalación). © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
4/12/2017 11:48 AM Compatibility Administrator: Crear y desplegar una base de datos de shims personalizada
Más acciones desde TechNet Para ver los webcast grabados sobre éste tema y otros temas, diríjase a: http://www.microsoft.es/technet/jornadas/webcasts/webcasts_ant.asp Para información y registro de Futuros Webcast de éste y otros temas diríjase a: http://www.microsoft.es/technet/jornadas/webcasts/default.asp Para mantenerse informado sobre todos los Eventos, Seminarios y webcast suscríbase a nuestro boletín TechNet Flash en ésta dirección: http://www.microsoft.es/technet/boletines/default.mspx Descubra los mejores vídeos para TI gratis y a un solo clic: http://www.microsoft.es/technet/itsshowtime/default.aspx Para acceder a toda la información, betas, actualizaciones, recursos, puede suscribirse a Nuestra Suscripción TechNet en: http://www.microsoft.es/technet/recursos/cd/default.mspx
© 2006 Microsoft Corporation. All rights reserved. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.