EJEMPLO: Uso de DUPS.exe para resolver los problemas de compatibilidad DLL

Seleccione idioma Seleccione idioma
Id. de artículo: 247957
Expandir todo | Contraer todo

En esta página

Resumen

La herramienta de DLL Universal Solucionador de problemas (DUPS.exe) es un muestra que contiene todas las utilidades que se documentan en enero de 2000 Microsoft Developer Network (MSDN) artículo "El final de la DLL Hell". Por favor, revise Artículo de MSDN antes de leer este artículo.

El paquete de duplicados es un conjunto de utilidades que puede utilizar para realizar un seguimiento y comparar versiones de un archivo DLL en varios Equipos basados en Windows. El número máximo se rige por el de SQL Server o Instalación de Microsoft Access. El cliente de Dlister que enumera los archivos DLL en un sistema se ejecuta en Windows 95 o Windows 98, Windows NT 4.0 y Windows 2000. La Utilidades de visualización se desarrollaron en Windows NT 4.0 y Windows 2000, y requiere Microsoft Access o Microsoft SQL Server. Se ha probado con Microsoft Access 97 y versiones posteriores y SQL Server 6.5 y versiones posteriores.

Más información

La siguiente archivo está disponible para su descarga desde Microsoft Download Centro:

DUPS.exe
Fecha de publicación: 14-Ene-2000

Para obtener información adicional acerca de cómo descargar Microsoft Support files, haga clic en el número de artículo siguiente para ver el artículo en Microsoft Knowledge Base:
119591 Cómo obtener archivos de soporte de Microsoft de los servicios en línea
Microsoft exploró este archivo en busca de virus. Microsoft ha utilizado al máximo software de detección de virus reciente que estaba disponible en la fecha en que el archivo se ha registrado. El archivo se almacena en servidores de seguridad mejorada que ayudan a evitar cambios no autorizados en el archivo. En este artículo y su código que lo acompaña se actualizarán de forma periódica. Todos los comentarios serán bien recibidos y se tendrá en cuenta en el futuro actualizaciones. (Utilice la zona activa de envío en el marco de la derecha para comentarios).
Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita, incluyendo, pero sin limitarse a, las garantías implícitas de comerciabilidad y/o idoneidad para un fin determinado. En este artículo se supone que está familiarizado con el lenguaje de programación que se muestra y las herramientas utilizadas para crear y depurar procedimientos. Profesionales de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas.
Si tiene poca experiencia en programación, desea ponerse en contacto con un Microsoft Certified Partner o servicios de asesoramiento de Microsoft. Para obtener más información, visite estos sitios Web de Microsoft:

Microsoft certificada Partners: https://Partner.Microsoft.com/global/30000104

Servicios de asesoramiento de Microsoft: http://support.Microsoft.com/GP/advisoryservice

Para obtener más información acerca de las opciones de soporte que están disponibles y cómo ponerse en contacto con Microsoft, visite el siguiente sitio Web de Microsoft:http://support.Microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS Se puede utilizar en un único equipo o utiliza para el paquete de duplicados realizar un seguimiento de la historia de la DLL de cada archivo DLL en la red. Se ejecuta en Windows 95 para Windows 2000 y en su forma más sencilla el modo no tiene dependencias. El paquete de duplicados consta de las tres utilidades de C++ y varios visores de Visual Basic.

Si desea comparar los archivos DLL que utiliza una aplicación en dos equipos (el equipo A y el equipo B), ejecute el programa de Dlister.exe. De forma predeterminada, Dlister crea un archivo en el directorio C:\ con el nombre Comp_DLL.txt, donde es Comp el nombre del equipo que ejecuta Dlister. También puede especificar ese Dlister escribir en una base de datos, o puede especificar otro directorio en el que el archivo se debe crear. Hay dos formas de reemplazar los valores predeterminados del atributo de Dlisters. Dlister y los visores de Visual Basic Obtén esta clave del registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB Samples\r1dllHell
Y los valores siguientes:
ConnectionString, fileTableDir
Puede utilizar el subprograma de Visual Basic DllHell\C_clients\ATL4VB\VbregSetup para establecer estos valores o se puede ejecutar simplemente Dlister y crea los valores predeterminados. Por ejemplo, si establece el parámetro ConnectString a:
Provider=SQLOLEDB.1;Initial Catalog=dllHell;Data Source=dsc3_ts;
					
hace que Dlister escribir valores en el SQL Server base de datos de dllHell, mientras que:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dllHell.mdb
					
utiliza una base de datos local de Microsoft Access.

La segunda forma de reemplazar los valores predeterminados que se está estableciendo los atributos el archivo DllHell.ini en el directorio Dlister.exe. Estos archivos no se descomprimen en el directorio DllHell\C_clients\Dlister\Release\.

Un archivo denominado xdllHell.ini se incluye en la muestra con una cadena de conexión que se puede modificar. (Cambie el nombre esta dllHell.ini si desea utilizarla).

Si equipo A y el equipo B tienen ActiveX Data Objects (ADO) instalado, la más sencilla enfoque para rellenar la base de datos de dllHell es establecer la cadena de conexión en la base de datos de SQL Server o Jet. Como alternativa, puede ejecutar Dlister en el archivo de texto modo, a continuación, utilice la utilidad de C++ DllHell\C_clients\Dlister\readtxttbl\Release\DlgDtxt2DB.exe para leer la salida archivo de texto en la base de datos de DllHell. También es de la aplicación MFC ReadTxtTbl es útil para la lectura en el texto que los clientes de datos por correo electrónico. Debe registrar los servidores COM DUPS\C_clients\ATL4VB\r1RegMon\ReleaseMinDependency\r1RegMon.dll y DUPS\C_clients\ATL4VB\readDlls\R1readTxtMod\ReleaseMinDependency\R1readTxtMod.dll Para utilizar los visores de Visual Basic.

Puede habilitar las sumas de comprobación CRC por establecer la clave del registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB ComputeCRC de Samples\r1dllHell en 0 x 1 en sistemas que ejecutan Windows 2000. Una vez que Vaya a esta clave, puede agregar a Favoritos. Los usuarios de Windows NT 4 debe desplazarse manualmente a esta clave.

Creación de la base de datos DllHell

SQL Server 7.0 es recomendado, pero Microsoft Access 2000 también Works. Para crear la base de datos de DLLhell puede utilizar el Administrador corporativo de SQL Server Para crear una base de datos vacío denominado DLLhell. Desde el analizador de consultas de SQL Server ventana, seleccione DLLhell del cuadro de lista desplegable de la base de datos. Ejecutar el Secuencia de comandos de DllHell\SQL\dllHellSchema.sql en esta ventana y crea todos los tablas necesarias para Dllhell.

Como alternativa, puede ejecutar el siguiente comando en el analizador de consultas de SQL Server:
EXEC sp_attach_single_file_db 'DLLhell', 'DllHell\SQL\dllHell_Data.MDF'
				
El código crea la base de datos y todas las tablas.

Comparación de los archivos DLL en dos sistemas

Para comparar la cmpWithList Visual de todos los archivos DLL en el uso de dos sistemas Utilidad básica en el directorio Dllhell\VBviewers\VBcmpList2.

Para limitar las comparaciones DLL (normalmente a sólo esos archivos DLL se carga una aplicación de destino) También debe tener un archivo de texto (.txt) que contiene los archivos DLL que desea comparar. Para crear esta lista con Depends o en una de las diversas herramientas (por ejemplo, ListDLLs y Process Explorer) desde el sitio Web siguiente:
http://technet.Microsoft.com/en-us/Sysinternals/default.aspx

Con cmpWithList

Cuando se cmpWithList inicia se muestra una lista de equipos en el Base de datos de DLLhell en el cuadro de lista de equipos. De forma predeterminada, los dos primeros equipos en la lista están seleccionadas para la comparación. Para cambiar el equipo de destino, seleccione que en el cuadro de lista y, a continuación, seleccione el botón cambiar . Los cuadros de edición Comp1 y Comp2 mostraban qué equipos se va a comparar.

Utilice el control de exploración de directorios para seleccionar el texto archivo que contendrá los nombres de todos los archivos DLL que desee comparar en los dos sistemas. Hacer doble clic en el archivo de texto lo selecciona.

Si no lo hace desea comparar los archivos DLL en algunos directorios (por lo general no le importa sobre los archivos DLL en winnt\system32\dllcache y WINNT\$ NtServicePackUninstall$), haga doble clic en la fila de la cuadrícula. Le pedirá que agregue el directorio a la _skipDir tabla. Archivos DLL en el _skipDir no se consideran para la comparación.

Instalación automática de red DLL auditoría

Configurar la programación en los sistemas Windows 2000:

Comience con el archivo de comandos dllHell\rcomp.cmd. Cambio de la siguientes variables de entorno para reflejar su sistema:
  1. Dpath: El directorio en el cliente donde se crea Dlister la lista de archivos de texto de los archivos DLL en el cliente. El valor predeterminado es C:\temp\DLLhell\
  2. Comp.: El nombre del equipo cliente.
  3. ChangeFileLocation: La ruta de red completa en el archivo DLL se debe copiar el archivo de diferencias. Éste es el directorio que el HellsMonitor relojes de servicio.
  4. ServerLst: La ruta de red donde el directorio de C_clients de la DLLhell se encuentra el paquete.
En la barra de tareas, haga clic en el botón Inicio , seleccione programas, Accesorios, Herramientas del sistema y, a continuación, haga clic en Tareas programadas.

Activar el applet Agregar tarea programada . Vaya al directorio local que contiene el rcomp.cmd archivo y selecciónelo. Después de seleccionar las opciones que presenta el asistente, el rcomp.cmd archivo se agrega a los trabajos programados. La primera vez que configure el trabajo programado, seleccione el inicio tiempo 2 a 5 minutos en el futuro para que pueda probar la configuración. A menudo es conveniente quitar el comando Pausar los comentarios para que puede ver los errores que se producen.

Registrar el archivo servicio de supervisión

Desde el Dllhell\C_clients\HellsMonitor\ReleaseUMinDependency Ejecute este comando, que registra el servicio de directorio:
HellsMonitor /Service
				
La parte más importante es el cliente de monitor. Se trata de una interfaz gráfica de usuario que permite agregar o quitar los directorios que debe supervisar. También le permite especificar la aplicación se ejecute (con un botón de examinar práctico). De los duplicados sistema de supervisión, la aplicación es Dllhell\C_clients\Dlister\ReadTxtTblCmdLine\Debug\ReadTxtTblCmdLine.exe.

Para agregar un directorio para supervisar, haga clic en Agregar. Se abrirá un cuadro de diálogo Examinar directorios en la que puede explorar a el directorio que desea supervisar. Para quitar un directorio o directorios seleccione los directorios que desea quitar y, a continuación, haga clic en Quitar. Con el fin de especificar la aplicación se ejecute en Escriba o Vaya a él. Si no se especifica una ruta de acceso debe estar en la ruta de acceso del sistema en algún lugar. A continuación, haga clic en Configurar para configurar el monitor para ejecutar esta aplicación cuando es un cambio detectado.

Nota: sólo se habilita el botón establecer cuando se cambia la aplicación Para ejecutar lo que actualmente está establecida. Se habilita el botón Quitar sólo cuando tienen directorios seleccionados a quitar.

Referencias

Para obtener más información, consulte el siguiente sitio Web de Microsoft:
"Fin del infierno DLL"

Propiedades

Id. de artículo: 247957 - Última revisión: viernes, 28 de junio de 2013 - Versión: 5.0
Palabras clave: 
kbdownload kbfile kbhowto kbmt KB247957 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 247957

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com