Compatibilidad de aplicaciones

En el Kit de herramientas de compatibilidad de aplicaciones 5.5

Chris Corio and Chris Jackson

 

En resumen:

  • Administrador de compatibilidad de aplicación y el marco de agente de
  • Evaluadores de compatibilidad
  • Almacenar y analizar los datos
  • El Analizador de usuarios estándar
  • Herramienta de prueba de compatibilidad de Internet Explorer

Contenido

Administrador de compatibilidad de aplicaciones
Evaluadores de compatibilidad
Base de datos de ACT
Análisis
Sincronización en línea
Analizador de usuarios estándar
Herramienta de prueba de compatibilidad de Internet Explorer
Conclusión

El Kit de herramientas de compatibilidad de aplicaciones (ACT) le ayuda a administrar el proceso para determinar si sus aplicaciones son compatibles con una nueva versión de Windows antes de implementarlos. Puede ayudar a determinar cómo una actualización del sistema operativo afectarán estas aplicaciones. Ha habido un número de artículos y notas del producto escritos en forma de utilizar la 5.5 ACT. Lo que queremos hacer en este artículo es ir en realidad y explore cómo funciona cada una de las herramientas de este kit de herramientas. Comenzaremos con la herramienta de la mayoría de los usuarios asociar con el Kit de herramientas: el administrador de compatibilidad de aplicaciones.

Administrador de compatibilidad de aplicaciones

El administrador de compatibilidad de aplicaciones proporciona un marco para presentación de información sobre el entorno de producción, organizar el análisis de este tipo de datos y ayudar a dirigir el proceso de pruebas. Vamos a cavar a esta herramienta para comprender cómo funciona.

los paquetes de implementación de evaluador (paquetes MSI) Implementa paquetes de colección de datos de ACT 5.5 como paquetes MSI, pero si para analizar minuciosamente el archivo MSI, encontrará que realmente no hace mucho trabajo. En su lugar, extrae un archivo ejecutable que realiza la instalación. la figura 1 muestra el árbol de proceso para una ejecución normal del proceso de instalación.

fig01.gif

Figura 1 árbol de procesos Framework de agente de instalación

La tercera instancia de msiexec.exe, se muestra en rojo, es interesante: se trata de una llamada para desinstalar el archivo MSI original. Básicamente, el archivo MSI extrae un exe (que se muestra como un archivo .tmp) y, a continuación, desinstala el MSI externo. Posteriormente, se instala un segundo MSI (llamado por msiexec). En una prueba, la implementación MSI había terminada la instalación en 1:19:46 y había terminado desinstalar en 1:19:50. El archivo MSI aparece instalado para sólo 4 segundos. Por lo tanto, al implementar un paquete de la colección de datos, no se ven para la instalación de MSI para determinar si debería para instalarlo en un equipo de destino, ya que no probablemente le resulte. Tiene que buscar otras evidencias que ha instalado los agentes en cada estación de trabajo.

Por ejemplo, mientras el archivo MSI implementar tienen un nuevo código de producto generado cada vez, el archivo MSI interno siempre tendrán el mismo código de producto (DC93B45B-D4F5-4FFE-9B47-042BD6FA8CC5) y se puede utilizar como evidencia que se instala un paquete de conjunto de datos de ACT (aunque no estén determinadas cuál, como todos los paquete de colección de datos de ACT tienen esta superficie). Tenga en cuenta que no se recomienda desinstalar un paquete de conjunto de datos mediante esta entrada MSI; tratará el método recomendado para desinstalar un paquete de conjunto de datos de ACT siguiente.

Afsetup.exe realiza la mayor parte del trabajo, y se desea ser consciente de este binario en el caso de que tiene problemas con la implementación del agente. Puede desinstalar el marco de agente con el comando siguiente:

%program files%\Microsoft Agent Framework\Agent Framework\afsetup.exe /uninstall

agente de Framework La Framework de agente de 5.5 de ACT proporciona una estructura para recopilar datos de una colección grande de equipos en una empresa. Un objetivo de diseño de agentes es ser adecuado para la implementación en un entorno de producción y desapercibidas. Por lo tanto, el trabajo de los agentes individuales es mucho optimizar el rendimiento (que verá en algunas de las decisiones de diseño realizadas en los agentes).

El marco de trabajo es sencillo. Cuando se instala el marco de agente, encontrará sus archivos en % programa files%\Microsoft agente de Framework. Se ejecuta como un servicio (actdcsvc.exe) que permite la programación y inicio de agentes. El XML se encuentra en el subdirectorio agente Framework\Data configura los agentes para iniciar la función a un calendario especificado. Puede encontrar el agente de archivos ejecutables en Framework\Agents agente.

Los agentes sean nada más que los archivos ejecutables, el servicio de agente de Framework simplemente administra la programación y inicia los archivos ejecutables adecuados como se especifica en la instalación y configuración XML. la figura 2 muestra un ejemplo del árbol de proceso durante las primera cinco minutos de una instalación de Framework agente típica.

fig02.gif

La Figura 2 árbol de procesos agente de Framework

Lo que tenemos es un servicio sencillo que simplemente programaciones y los agentes se ejecuta. Los agentes de realizar el trabajo, por lo que vamos a explorarlos.

El agente de inventario de 5.5 ACT, collect.exe, es uno de los más importantes. En esencia, este agente busca en los sistemas cliente y compila un inventario de aplicaciones. En términos de los datos necesarios para planear un proyecto de compatibilidad de aplicación (un nombre de aplicación Alinear del, versión y, finalmente, una instrucción de soporte técnico), Agente de inventario de forma coherente realiza muy bien comparado con otras herramientas inventario de software.

¿Qué es especialmente útil no es sólo bien cómo el agente scours el sistema buscando pruebas (detallan a continuación), pero cómo bueno, limpia los datos antes de enviarlo a lo largo. La herramienta crea una serie de "recipientes" y, a continuación, consolida todos de la evidencia que se encuentra en las búsquedas detalladas a continuación, simplificación, quita los duplicados y clasificar se. El agente busca indicios en un número de ubicaciones para buscar aplicaciones.

La búsqueda de base de datos de MSI usa la API MsiEnumComponents para enumerar todas las aplicaciones instaladas mediante Windows Installer.

La búsqueda de programas de agregar o quitar abre HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Uninstall y HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Uninstall y recopila datos de cada subclave que se encuentra aquí.

La búsqueda de shell de Windows funciona al enumerar el contenido de las carpetas de HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell, así como HKEY_USERS\ < … > \Software\Microsoft\Windows\CurrentVersion\Explorer\Shell carpetas para cada usuario con un perfil en el equipo. El agente, a continuación, busca todos los archivos y vínculos en estos directorios o sus subdirectorios (excluyendo específicamente los escritorios, que tienden a ser "estacionamientos" para descargar desde el Web, para reducir el ruido de ejecutables). Esta búsqueda captura software que, por ejemplo, no se registra propio en Agregar o quitar programas pero agrega un acceso directo del menú Inicio.

La búsqueda de rutas de acceso de la aplicación enumera todas las subclaves en la clave del registro HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App rutas de acceso, recoge las aplicaciones que se han registrado a sí mismos para recibir una ruta específica del programa de aplicación.

La ruta de acceso entorno variable buscan archivos ejecutables en cada directorio pero no los subdirectorios apunta en variable de entorno del usuario en cualquier ruta de acceso. En primer lugar busca los archivos ejecutables en las rutas de acceso devueltos desde una llamada a ExpandEnvironmentStrings (que devuelve las variables de entorno del sistema y las variables de entorno del usuario actual) más el contenido de \Environment HKEY_USERS\ < … > para todos los otros usuarios. Esto permite que el recolector de inventario buscar aplicaciones (normalmente, la línea de comandos aplicaciones) instaladas simplemente colocando el archivo en el sistema de archivos y, a continuación, se anexa a la variable de entorno de ruta de acceso.

La búsqueda de controladores de extensión de archivo examina cada extensión de archivo registrados y captura programas registrados para controlar las extensiones de archivo. En primer lugar se abre HKEY_LOCAL_MACHINE\Software\Classes y se enumeran cada entrada que comienza con un punto (.), ya que son las extensiones de archivo. Para cada entrada que se encuentra, el agente enumera el programa los identificadores y busca las subclaves shell\open\command de cada IDENTIFICADOR de programa para buscar archivos ejecutables. , A continuación, realiza la misma para cada usuario, para enumerar el contenido de \Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts HKEY_USERS\ < … >. Esto permite al agente encontró el software en la instalación simplemente eliminan los archivos binarios y, a continuación, había registrado como un controlador para una extensión de archivo.

La búsqueda de ejecución/RunOnce del registro examina las siguientes claves del registro para localizar los archivos ejecutables que pueden representar las aplicaciones:

  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVerison\RunOnceEx

Examinar estas claves del registro permite al agente buscar el software que se ejecuta con cada inicio pero que no es posible que deje otra evidencia para el recolector de buscar.

La búsqueda de administrador de control de servicios de consulta (mediante la API de EnumServiceStatus) el administrador de control servicios y, a continuación, consulta cada servicio para obtener información detallada (mediante la API de QueryServiceConfig). Esto permite al agente buscar software cuyo instalador manualmente pone los archivos ejecutables del sistema de archivos y establece las claves del Registro para registrar el servicio.

Las consultas instalados para que Windows, para capturar estas aplicaciones, así los componentes opcionales de búsqueda de los componentes de Windows. Para ello, consultar sysocmgr.inf (en % windir%\inf) y enumere los componentes opcionales seleccionados. Esto permite al agente encontró el software que es probable que no existe en una instalación estándar de Windows.

Evaluadores de compatibilidad

Mientras que saber qué software haya instalado en los equipos en la empresa es, por lo general, los datos más importantes para ejecutar un proyecto de compatibilidad de aplicaciones, el marco de agente también le permite recopilar datos adicionales de los equipos con agentes instalados. Los agentes del evaluador de compatibilidad provistos de ACT son rendimiento optimizado para su uso de producción y por consiguiente recopilar una cantidad limitada de datos. Revise los datos recopilados y ejecutar una prueba de concepto para medir el valor de los datos antes de invertir mucho en una implementación de evaluador de compatibilidad masiva.

evaluador de compatibilidad de UAC El evaluador de compatibilidad de UAC (uacce.exe) instala una base de datos de corrección de compatibilidad personalizado (uacce.sdb) y correcciones personalizadas (uacdetct.dll) para determinar si una aplicación puede ejecutarse como usuario estándar (o como un administrador protegido) en Windows Vista o Windows 7. (Correcciones son pequeños fragmentos de código de la aplicación que se insertan entre la aplicación y Windows, que normalmente se utilizan en Windows para resolver problemas de compatibilidad de aplicaciones, pero aquí se utiliza para detectarlos.) Aplica estas correcciones a procesos en ejecución en el sistema al establecer un nivel de compatibilidad de explorer.exe; establece la variable de entorno de __COMPAT_LAYER para incluir UACCEDetection, una capa definida en la SDB personalizado. Porque el proceso secundario hereda las capas, cualquier proceso creado mediante el explorador de tendrá estas correcciones aplicados.

¿Qué hacer las correcciones? La corrección FileOperations intercepta llamadas a la _lcreat, CopyFile CopyFileEx, CreateFile, DeleteFile, MoveFile, MoveFileEx, MoveFileWithProgress, ReplaceFile, LZOpenFile, EncryptFile, DecryptFile y DuplicateEncryptionInfoFile API. Para cada llamada, se comprueba si la lista de control de acceso (ACL) restringe el acceso o si el archivo reside en una ruta de acceso especial (en caso de haya loosened las listas ACL).

La comprobación de ACL viene determinada por tomando la lista ACL existente, quitar las ACE "administrador" y los privilegios y, a continuación, llamar a AccessCheck en el recurso para determinar si tiene éxito para un usuario no administrador. La comprobación de ruta de acceso especial busca para ver si la ruta de acceso está en el directorio raíz, programa los archivos de directorio %, directorio de sistema % o directorio de windows %. Se registran los errores.

La corrección RegistryOperations intercepta llamadas a la RegCreateKey, RegCreateKeyEx RegDeleteKey, RegDeleteKeyEx, RegDeleteValue, RegOpenCurrentUser, RegOpenKey, RegOpenKeyEx, RegCloseKey, RegOpenUserClassesRoot, RegReplaceKey, RegRestoreKey, RegSetValue, RegSetValueEx y RegUnloadKey API. Para cada llamada a una API interceptar, la corrección comprueba si la lista de control de acceso denegaría el acceso a un usuario estándar. Esta comprobación ACL es el mismo uno utilizado para las operaciones de archivos, eliminación del símbolo (token) y llamar a AccessCheck. Se registran los errores.

La corrección ProfileOperations intercepta las llamadas a la WritePrivateProfileSection, WritePrivateProfileString, WritePrivateProfileStruct, WriteProfileSection y WriteProfileString API. Para cada llamada a estas API, la corrección comprueba si se asigna el archivo ini utilizando una asignación de archivos ini. Si no, se comprueba la corrección de los permisos en el archivo, como se indica en la FileOperations shim (ya que, si no está asignada, un archivo ini es sólo otro archivo) y se registran los errores.

La corrección RestrictedNamespace intercepta las llamadas a la API CreateFileMapping. Si el nombre del objeto incluye espacio de nombres del Global\ o Session\, un error queda grabado.

La corrección ElevatedRunLevel intercepta las llamadas a la CreateProcess, CreateProcessAsUser, CreateProcessWithLogon y API CreateProcessWithToken. Todas las API interceptar compruebe el archivo ejecutable para determinar si la característica de detección del instalador de Windows desencadenará un evento de elevación (que devuelve ERROR_ELEVATION_REQUIRED al usar la API de CreateProcess) de destino. Además, la corrección comprueba la identidad de destino de las API que cambiar las credenciales del usuario para determinar si son las cuentas de administrador.

Si observa estrechamente cómo funciona la detección, verá que se supone que está ejecutando con privilegios elevados mientras los agentes están trabajando. Puesto que los agentes fueron diseñados para su uso en sistemas de producción, la suposición es que la aplicación ya está funcionando. Y si está trabajando y se tiene un problema con UAC, a continuación, se está probablemente ejecutando como administrador!

Evaluador de compatibilidad de Windows Vista y Windows 7 El evaluador de compatibilidad 7 de Windows Vista y Windows realmente se divide en dos archivos ejecutables de agente independiente, puesto que una unidad de trabajo se puede detectar estáticamente, mientras el otro se supervisa y analiza en tiempo de ejecución.

El agente de sesión GINA 0 (ginasession0.exe) realiza una comprobación sencilla del registro. Examina NT\CurrentVersion\Winlogon\GinaDLL HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows para determinar si ha instalado un GINA personalizado. También enumera servicios, examinando el valor de tipo en el registro para ver si el 0 x 100 bits es establecer (el marcador SERVICE_INTERACTIVE_PROCESS). Se registran los errores.

Mucho al igual que el evaluador de compatibilidad de UAC, el agente de descartar (dep.exe) instala una base de datos personalizado corrección (dep.sdb o win2kagents.sdb en Windows 2000) y correcciones personalizadas (depdetct.dll), establecer la variable de entorno __COMPAT_LAYER de Explorer.exe incluir DeprecationAgentLayer, lo que garantiza que los procesos iniciar a través del explorador son shimmed. (Tenga en cuenta que la base de datos corrección de compatibilidad también excluye los archivos binarios específicos de la corrección que se sabe que un error si se detectan que han sido shimmed.)

¿Qué los agentes degradará buscan? Examinemos las correcciones que se utiliza.

La corrección DllLoadOperations intercepta LoadLibrary y LoadLibraryEx y compara el nombre de biblioteca que se ha pasado a la lista de archivos DLL obsoletas. Esta lista se almacena en DepManifest.csv, que puede encontrar en % programa files%\Microsoft agente Framework\Agent Framework\Agents\DEP. Se utilizan las entradas en la primera columna es DllType.

La corrección ExeLoadOperations intercepta la CreateProcess, CreateProcessAsUser CreateProcessWithLogon, CreateProcessWithToken, ShellExecute, ShellExecuteEx y WinExec API, comparando el nombre de archivo ejecutable que se ha pasado a la lista de archivos exe obsoleto, también almacenada en DepManifest.csv donde la primera columna es ExeType.

La corrección RegistryLoadOperations intercepta la RegCreateKey, RegCreateKeyEx RegCloseKey, RegDeleteKey, RegDeleteKeyEx, RegDeleteValue, RegOpenCurrentUser, RegOpenKey, RegOpenKeyEx, RegOpenUserClassesRoot, RegReplaceKey, RegRestoreKey, RegSetValue, RegSetValueEx y RegUnloadKey API, comparando la clave del registro pasada a la lista almacenada (nuevo) en tiempo de DepManifest.csv—this con una primera columna de RegType.

La corrección ApiLoadOperations directamente shims específicas API que han se desaprueba, tener en cuenta que una aplicación llama. Para Windows Vista, hay sólo una: StiCreateInstanceA en sti.dll. (Y aún hay un artículo detrás de este; consulte https://blogs.msdn.com/tomarcher/archive/2006/03/22/windows-vista-sti-and-a-story-about-customer-service.aspx.)

Una cosa que observará acerca de este agente es que depende de ejecución nivel inferior: el hecho de que se llama algo se registra únicamente si correctamente al llamar a él.

Actualizar el evaluador de compatibilidad El evaluador de compatibilidad actualizaciones es útil para determinar qué archivos binarios de Windows está utilizando una aplicación en particular, que permite las pruebas con mayor precisión cuando se publican actualizaciones de Windows de destino. El evaluador de compatibilidad actualización funciona al instalar un controlador de modo kernel (fdrtrace.sys) que implementa un controlador de filtros del sistema de archivos y registro de enlaces para registrar la actividad de sistema y el registro archivo generada por las aplicaciones. Aprovecha un servicio (uiaservice.exe) y un archivo ejecutable (uiaconvert.exe) para interpretar los datos y lo alinea con las aplicaciones y acceso a los archivos binarios de Windows.

Agente de bucketizer El agente Bucketizer asigna los datos recopilados de agentes de evaluador de compatibilidad con el inventario del equipo para clasificar cualquier problema detectado en depósitos para cada aplicación.

Agente de compresor Al igual que los sonidos de nombre, el propósito del agente programa de compresión (compressor.exe) es comprimir los archivos que se cargan al recurso compartido de archivo especificado en un archivo CAB para ahorrar ancho de banda de red.

agente de uploader El agente Uploader es responsable de cargar los datos recopilados de otros agentes al recurso compartido de archivo especificado. El trabajo de este agente es relativamente sencillo, copiar los datos recopilados localmente en la ubicación indicada. Si la ubicación es inaccesible, el agente de espera cinco segundos antes de volver a intentarlo. El agente intentará tres veces antes de realizar copias.

Una nueva característica importante de ACT 5.5 es que los paquetes de conjunto de datos puede ser "etiquetados", configurado de manera que todos los registros cargados por un paquete de conjunto de datos en particular tiene una etiqueta determinada les aplica. Esto permite a dirección de forma más eficaz algunos escenarios, tales como comprender completamente el software que se utiliza para cada grupo de inventario (anteriormente Esto era difícil de medir de superposición de las aplicaciones) o para consolidar los datos de varios grupos o las organizaciones.

el servicio de procesamiento de registro El servicio de procesamiento de registro se ejecuta actdcsvc.exe como servicio. Si piensa que suena familiar, tiene razón exactamente, esto es el mismo servicio de marco de trabajo de agente descrito anteriormente. En este caso, ejecuta los agentes de tres siguientes:

  • El agente descompresor (decompressor.exe) es el complementario al agente de programa de compresión utilizado en las estaciones de trabajo que recopilar de; extrae los archivos XML generados en el cliente de los archivos CAB utilizados para cargarlos. Una vez extraídos, el agente de escucha detecta el cambio y puede continuar.
  • El agente de escucha (listener.exe) supervisa el directorio especificado para los cambios. A continuación espera a que los cambios surtan lugar en el directorio supervisado, procesa mediante el envío de una llamada RPC al agente Queue Server.
  • El agente Queuer (queuer.exe) configura los puertos para escuchar las llamadas RPC del agente de escucha de. Cuando recibe estas llamadas, procesa el archivo y los carga en la base de datos. El agente Queuer mueve archivos XML completados de la raíz o una carpeta sin comprimir a la carpeta procesados cuando que se realiza correctamente. Si se produce un error, mueve los archivos a la carpeta de error. Con bastante frecuencia, si un registro no puede procesar, puede simplemente retroceder, en el directorio raíz del recurso compartido supervisado para volver a intentarlo y a menudo esto funcionará correctamente.

Una pregunta que surge con bastante frecuencia es si es necesario guardar estos archivos procesados. Dado que los datos ya están en la base de datos, técnicamente no es necesario guardarlos, y la mayoría de las personas puede elimínelos forma segura. Sin embargo, estos archivos pueden proceder de gran utilidad para reconstruir la base de datos o para consolidar dos bases de datos, por lo que merece la pena considerar la necesidad futura para volver a generar la base de datos antes de eliminar estos datos.

Base de datos de ACT

Puede ser el administrador de compatibilidad de aplicaciones donde la mayor parte de la magia sucede, pero la base de datos de ACT es donde se encuentra todos los datos. Hay un número de tablas de la base de datos de ACT. Aunque el esquema es sin documentar, es muy sencillo (pero, lamentablemente, sujeto a cambios con casi cada nuevo lanzamiento del ACT). Tablas importantes incluyen aplicaciones, equipos, dispositivos y los problemas, y se utilizan para organizar toda la información devuelta por los agentes de varios y procesados por el servicio de procesamiento de registro.

Las aplicaciones están sujetas a los datos con un IDENTIFICADOR único de aplicación, generado mediante el nombre, la versión, el proveedor y el idioma (NVVL) de la aplicación.

Puede base de host el ACT datos en Microsoft SQL Server 2005 o posterior, incluidas las versiones Express. (SQL Server 2000 ya no es compatible.) El administrador de compatibilidad de aplicaciones crea la base de datos durante la fase de configuración inicial de la configuración de empresa del ACT. La secuencia de comandos utilizada para crear la base de datos reside en %allusersprofile%\Microsoft\Application 5\CreateDB.sql de Kit de herramientas de compatibilidad.

Un aspecto clave de la ACM es la capacidad de crear informes. Para crear informes, filtrado de la base de datos de ACT con un control de generador de consultas ACM, que se muestra al hacer clic en Alternar filtro. Puede filtrar basándose en criterios relacionados con las entidades de la base de datos de ACT y vincular para crear estas cláusulas Y y O relaciones. Puede guardar su informe como un archivo .adq, un archivo .XML que define los filtros usados. El archivo .adq es un formato portátil que contiene datos ni depende de un determinado conjunto de datos.

Sincronización en línea

Al realizar una sincronización en línea, ACT usa un servicio de Web público. En versiones anteriores de ACT, identificadores de aplicación únicos para todo el software se ha enviado, pero se puede ocultar la evaluación de compatibilidad de la comunidad si deseara. Con 5.5 ACT, cuando se decide no compartir información acerca de una aplicación ACT nunca envía el IDENTIFICADOR de aplicación (que también significa que no recibe datos de cambio).

Los datos de la comunidad procede de la base de datos Microsoft Exchange de compatibilidad y incluye datos de certificación de logotipo y datos de la comunidad (votos de otros usuarios). Un sistema independiente hoy ofrece windows.com/compatibility y estos datos agrega el resultado de investigación manual en el estado de compatibilidad de software disponible comercialmente; ACT 5.5 será la primera versión de ACT para incorporar estos datos, que proporciona mucha más información sobre el estado conocido de compatibilidad que estaba disponible anteriormente.

Analizador de usuarios estándar

El Analizador de usuarios estándar (SUA) consta de varios archivos binarios para supervisar y analizar la ejecución de aplicaciones y comunicar los problemas que surjan durante las pruebas de aplicaciones. La principal interfaz de usuario de SUA permite una aplicación para analizar y seleccione las condiciones de inicio para esta aplicación de destino. SUA, a continuación, emplean Comprobador de aplicación como su plataforma subyacente para supervisar las aplicaciones. Después de supervisión de ejecución de la aplicación, SUA presenta los datos adquiridos en la IU de SUA donde el usuario puede trabajar para comprender los datos y incluso crear paquetes de mitigación que se conecte a la infraestructura de compatibilidad de aplicaciones de Windows.

el Comprobador de aplicación El Comprobador de aplicación es una herramienta que ofrece a los desarrolladores una forma para supervisar la ejecución de aplicaciones. SUA utiliza el Comprobador de aplicación para realizar un seguimiento comportamiento de la aplicación que podría requerir privilegios de administrador por las API específicas de enlace y supervisar su uso.

El Comprobador de aplicación implementa un modelo complemento (que, como de escribir este documento, no está aún documentado para su uso público) donde se puede registrar y emplear para supervisar las aplicaciones destino DLL específicas. (Los complementos se configuran mediante la clave del registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image archivo ejecución Options\ {ApplicationVerifierGlobalSettings}.) El archivo dll que SUA utiliza para supervisar las aplicaciones es vfLuaPriv2.dll, que está instalado en el directorio %windir%\System32 durante la instalación. El binario vfLuaPriv2.dll reemplaza vfLuaPriv.dll instalados por el Comprobador de aplicación.

Cuando SUA inicia una aplicación para las pruebas, inicialmente comprueba el Comprobador de aplicación está instalado en el sistema y solicita el usuario que lo instale si es necesario. A continuación, SUA utiliza la interfaz de línea de comandos Comprobador de aplicación para registrar una aplicación; por ejemplo, si está dirigido notepad.exe para supervisar, las llamadas SUA de línea de comandos sería siguiente:

appverif.exe -enable luapriv -for "notepad.exe"

El Comprobador de aplicación coincide con la cadena de luapriv con el nombre especificado en vfLuaPriv2.dll.

Cuando SUA configura una aplicación, también indica el Comprobador de aplicación para supervisar los procesos secundarios creados por esa aplicación. El Comprobador de aplicación crea un archivo de registro independiente para cada proceso, pero SUA combina estos archivos de registro para crear un solo informe consolidado. SUA también puede guardar la colección de registros en un archivo .CAB para verla en otro equipo.

Analizador de usuarios estándar interfaz de usuario SUA puede probar una aplicación en uno de los tres contextos diferentes: iniciando la aplicación con el usuario actual del símbolo (token), con token deshabilitar archivos y del registro virtualización el usuario actual o con permisos elevados. En cada caso, SUA iniciará un proceso elevado, SUAnalyzerSrv.exe, puesto que el Comprobador de aplicación requiere permisos elevados para configurar. Figura 3 muestra un árbol de proceso típico al probar notepad.exe.

fig03.gif

La figura 3 de prueba de bloc de notas

SUAnalyzerSrv.exe y AppVerif.exe siempre se ejecutarán con privilegios de administrador para preparar el entorno para la aplicación de destino que se va a comprobar. SUA se, a continuación, inicie notepad.exe en el contexto de seguridad especificada y espere a la aplicación y todos los procesos secundarios finalizar la ejecución. SUA, a continuación, agrega y procesa los registros de Comprobador de aplicación y muestra los resultados en la interfaz de usuario.

Los resultados SUA se dividen en categorías de problemas como archivos, registro, INI, token, privilegio, espacio de nombres, otros objetos y proceso. Estas categorías corresponden a una ficha situada en la parte superior de la interfaz de usuario de SUA y permiten centrarse en problemas diferentes, como probar la aplicación.

El archivo y registro de fichas que mostrar archivo operaciones del sistema o del registro que se requieren privilegios de administrador. El Comprobador de aplicación complemento luapriv supervisa el comportamiento de API importantes, como CreateFile o CreateRegistryKey para casos donde su uso requieren privilegios de administrador. En algunos casos, la característica redirección del registro y de archivos UAC permitiría que estas operaciones tener éxito en Windows Vista.

Cada ficha se muestra en la interfaz de usuario generalmente resulta de luapriv supervisar el comportamiento de un conjunto de API. Por ejemplo, la ficha INI se centra en encontrar problemas relacionados con el uso de las API WriteProfile, originalmente utiliza en aplicaciones de 16 bits. Una explicación de cada ficha está disponible en la documentación de SUAnalyzer.rtf incluida como parte de la instalación de SUA. Puede expandir los eventos en cada ficha para ver información detallada sobre el evento, incluido un seguimiento de pila para que en la aplicación ocurrido el evento.

Después de revisar los resultados de una aplicación las pruebas, SUA le permite probar y crear paquetes de mitigación para una aplicación. Un paquete de mitigación es MSI que registra una base de datos de compatibilidad de aplicación en un sistema y puede utilizar loosen.exe, una utilidad que se suministra con SUA, para ajustar el archivo o registro de listas de control de acceso. Los paquetes de mitigación se pueden implementar en su entorno.

Herramienta de prueba de compatibilidad de Internet Explorer

La herramienta de prueba compatibilidad de Internet Explorer funciona mediante la habilitación del evaluador de compatibilidad explorador de Internet (iece.exe). En ACT 5.0, el evaluador podría implementa como parte de un paquete de la colección de datos, pero dado que la colección requiere que ya tiene instalado el explorador de destino, se ha quitado de 5.5 ACT. (Una vez de todo, descubrir que algo no funciona una vez instalado es suboptimal; la mayoría de las personas se prefiere descubrir cualquier problema antes de que implementación el nuevo explorador!)

El evaluador de compatibilidad de Internet Explorer es bastante simple, el trabajo sólo tiene que hacer es modificar el registro para que Internet Explorer permite el registro. Debido a que el propio explorador proporciona la detección, la fidelidad de los datos es muy alta. Para obtener información detallada de todos los eventos que Internet Explorer puede detectar (junto con recomendaciones de corrección para cada uno), vea Compatibilidad de aplicaciones de Internet Explorer.

Internet Explorer registra información en el registro de sucesos, y la herramienta de prueba recopila información del registro y consolida. Se puede analizar la información directamente en la herramienta, o puede cargar los eventos a una base de datos ACT consolidado. Si decide cargarlos en una base de datos de ACT, el evaluador de compatibilidad de Internet Explorer ejecuta agentes igual que los agentes de ejecutar en un paquete de conjunto de datos, primero collect.exe que se está ejecutando, a continuación, bucketizer.exe y, por último, compressor.exe, después del cual solicita una ubicación para guardar el archivo CAB.

Conclusión

Bueno, concluye nuestro paseo en el plano de la 5.5 Kit de herramientas de compatibilidad de aplicaciones. El producto proporciona una serie de útiles herramientas para admitir la migración a Windows Vista o Windows 7 y por descripción más acerca de qué cada uno no le podrá mejor evaluar la posibilidad de cada herramienta e invertir en ellas correctamente.

Carlos Jackson es el responsable técnico el equipo SWAT experiencia de aplicaciones de Windows en Microsoft. Ha trabajado con clientes de empresa del mundo para ayudarles a investigar y mitigar los problemas de compatibilidad de aplicaciones, así como proporcionar formación instrucciones acerca de la compatibilidad de aplicación Windows para muchos eventos del sector. Carlos pueden ponerse en https://blogs.msdn.com/cjacks.

Chris Corio era miembro del grupo de seguridad de Windows de Microsoft más de cinco años. Su objetivo principal de Microsoft era las tecnologías de seguridad de aplicaciones y tecnologías de administración para la protección de Windows. Pueden llegar a Carlos en winsecurity@chriscorio.com.