EXEMPLO: DUPS.exe a utilizar para resolver problemas de compatibilidade DLL

Traduções de Artigos Traduções de Artigos
Artigo: 247957
Expandir tudo | Reduzir tudo

Nesta página

Sumário

A ferramenta de DLL Universal problema Solver (DUPS.exe) é um amostra que contenha todos os utilitários documentados em Janeiro de 2000 Microsoft Developer Network (MSDN) artigo "A fim de DLL Hell." Consulte a secção que Artigo do MSDN antes de ler este artigo.

O pacote DUPS é um conjunto utilitários que pode utilizar para controlar e comparar versões DLL em vários Computadores baseados no Windows. O número máximo é regulado pelo SQL Server ou Instalação do Microsoft Access. O cliente de Dlister, que enumera as DLLs de um sistema é executado no Windows 95 ou Windows 98, Windows NT 4.0 e Windows 2000. O utilitários de visualização foram desenvolvidos no Windows NT 4.0 e Windows 2000, e requerem o Microsoft Access ou Microsoft SQL Server. Que foi testado com Microsoft Access 97 e versões posteriores e SQL Server 6.5 e versões posteriores.

Mais Informação

O ficheiro seguinte está disponível para transferência a partir do Microsoft Download Centro:

DUPS.exe
Data de edição: 14-Jan-2000

Para obter informações adicionais sobre como transferir Ficheiros Microsoft Support, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
119591 Como obter ficheiros de suporte da Microsoft a partir de Serviços Online
A Microsoft procedeu vírus neste ficheiro. A Microsoft utilizou o máximo software de detecção de vírus actual que estava disponível na data que o ficheiro. foi registada. O ficheiro é armazenado em servidores com segurança melhorada, que ajudam a impedir alterações não autorizadas ao ficheiro. Este artigo e o respectivo código de acompanhamento serão actualizados periodicamente. Todos os comentários são boas-vindas e serão considerados em futuras actualizações. (Utilize a hiperligação de submeter na frame da direita para comentando.)
A Microsoft fornece exemplos de programação para ilustração apenas, sem garantia expressa ou implícita, incluindo, sem limitação, garantias implícitas de comercialização e/ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação apresentada e as ferramentas utilizadas para criar e depurar procedimentos. Os profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas.
Se dispõe de limitada experiência de programação, poderá pretender contactar um Microsoft Certified Partner ou a serviços de aconselhamento da Microsoft. Para mais informações, visite estes Web sites da Microsoft:

Microsoft certificada parceiros- https://Partner.microsoft.com/global/30000104

Serviços de aconselhamento da Microsoft- http://support.microsoft.com/gp/advisoryservice

Para mais informações sobre as opções de suporte disponíveis e sobre como contactar a Microsoft, visite o seguinte Web site da Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS O pacote DUPS pode ser utilizado num único computador ou para controle o histórico DLL de cada DLL na rede. Executa o Windows 95 para O Windows 2000 e de forma mais simples no modo não tem dependências. O pacote DUPS agrupa os três utilitários de C++ e várias visualizadores do Visual Basic.

Se pretender comparar as DLL de uma aplicação está a utilizar em dois computadores (o computador A e o computador B), execute o programa de Dlister.exe. Por predefinição Dlister cria um ficheiro no directório com o nome Comp_DLL.txt em que é o Comp C:\ o nome do computador com o Dlister. Também pode especificar essa Dlister escrever para uma base de dados, ou pode especificar outro directório na qual o ficheiro. deverá ser criado. Existem duas formas para substituir as predefinições de atributo Dlisters. Os visualizadores de Visual Basic e Dlister obterem esta chave de registo:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB Samples\r1dllHell
E os seguintes valores:
ConnectionString, fileTableDir
Pode utilizar a aplicação do Visual Basic DllHell\C_clients\ATL4VB\VbregSetup para definir estes valores ou pode simplesmente executar Dlister e cria os valores predefinidos. Por exemplo, a definição da cadeialigação para:
Provider=SQLOLEDB.1;Initial Catalog=dllHell;Data Source=dsc3_ts;
					
faz com que Dlister escrever os valores para o SQL Server base de dados de dllHell, enquanto:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dllHell.mdb
					
utiliza uma base de dados local do Microsoft Access.

É a segunda forma para substituir os valores predefinidos, definindo os atributos do ficheiro DllHell.ini no directório Dlister.exe. Estes ficheiros são descompactados em o directório DllHell\C_clients\Dlister\Release\.

Um ficheiro denominado xdllHell.ini está incluído na amostra com uma cadeia de ligação que pode modificar. (Mude o nome deste dllHell.ini se pretender utilizá-la.)

Se computador A e o computador B que têm ambos de ActiveX Data Objects (ADO) instalado, o mais simples abordagem para povoar a base de dados de dllHell é definir a cadeia de ligação a base de dados SQL Server ou o Jet. Em alternativa, pode executar o Dlister no ficheiro de texto modo, em seguida, utilize o utilitário de C++ DllHell\C_clients\Dlister\readtxttbl\Release\DlgDtxt2DB.exe para ler a saída ficheiro de texto na base de dados DllHell. Também é a aplicação MFC de ReadTxtTbl é útil para leitura no texto que o correio electrónico que os clientes de dados. Tem de registar os servidores COM DUPS\C_clients\ATL4VB\r1RegMon\ReleaseMinDependency\r1RegMon.dll e DUPS\C_clients\ATL4VB\readDlls\R1readTxtMod\ReleaseMinDependency\R1readTxtMod.dll Para utilizar os visualizadores do Visual Basic.

Pode activar as somas de verificação CRC por definir a chave de registo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB ComputeCRC de Samples\r1dllHell para 0x1 em sistemas com o Windows 2000. Uma vez que navegar para esta chave, pode adicioná-la aos Favoritos. Tem dos utilizadores do Windows NT 4 Navegue manualmente para esta chave.

Criar a base de dados de DllHell

SQL Server 7.0 é recomendado, mas o Microsoft Access 2000 também Works. Para criar a base de dados do DLLhell pode utilizar o SQL Server Enterprise Manager para criar uma base de dados vazia denominada DLLhell. Do SQL Server Query Analyzer janela, seleccione DLLhell da base de dados pendente listbox. Executar o Script de DllHell\SQL\dllHellSchema.sql nesta janela e cria todos os o tabelas necessárias para Dllhell.

Em alternativa, pode executar o seguinte comando no SQL Server Query Analyzer:
EXEC sp_attach_single_file_db 'DLLhell', 'DllHell\SQL\dllHell_Data.MDF'
				
O código cria a base de dados e todas as tabelas.

Comparar as DLLs em dois sistemas

Para Comparar todas as DLLs na utilização de dois sistemas de cmpWithList Visual Utilitário de base no directório Dllhell\VBviewers\VBcmpList2.

Para limitar as comparações DLL (normalmente a apenas esses dll carrega uma aplicação de destino) Também tem de ter um ficheiro de texto (. txt) que contém as DLLs que pretende comparar. Pode criar esta lista com Depends ou uma das várias ferramentas (como ListDLLs e o Process Explorer) partir do seguinte Web site:
http://technet.microsoft.com/en-us/Sysinternals/default.aspx

Utilizar cmpWithList

Quando cmpWithList o inicia mostra uma lista de computadores a DLLhell base de dados na caixa de listagem de computadores. Por predefinição, os primeiros dois computadores na lista são seleccionados para comparação. Para alterar o computador de destino, seleccione -lo na caixa de listagem e em seguida, seleccione o botão Alterar . As caixas de edição Comp1 e Comp2 mostram quais os computadores vai comparar.

Utilize o controlo de navegação do directório para seleccionar o texto ficheiro conterá os nomes de todas as DLLs que deseja comparar nos dois sistemas. Fazendo duplo clique no ficheiro de texto, selecciona-lo.

Se não o fizer pretende comparar DLLs em alguns directórios (normalmente não gosta DLLs em winnt\system32\dllcache e WINNT\$ NtServicePackUninstall$) faça duplo clique em a linha na grelha. Será solicitado para adicionar o directório para o _skipDir tabela. DLLs no _skipDir não são consideradas para comparação.

Instalação automática de rede DLL auditoria

Configurar a agenda em sistemas Windows 2000:

Iniciar com o ficheiro de comandos dllHell\rcomp.cmd. Alterar o seguintes variáveis de ambiente para reflectir o seu sistema:
  1. Dpath: O directório do cliente onde cria Dlister a lista de ficheiros de texto de dlls no cliente. A predefinição é C:\temp\DLLhell\
  2. COMP: O nome do computador cliente.
  3. ChangeFileLocation: O caminho de rede completo em que a DLL ficheiro de diferenças deve ser copiado. Este é o directório que o HellsMonitor relógios de serviço.
  4. ServerLst: O caminho de rede onde o directório C_clients da DLLhell o pacote está localizado.
Na barra de tarefas, clique no botão Iniciar , aponte para programas, aponte para Acessorios, aponte para Ferramentas do sistema e, em seguida, clique em Tarefas agendadas.

Active a aplicação Adicionar tarefa agendada . Procure o directório de local que contém o rcomp.cmd o ficheiro e seleccione-o. Depois de seleccionar as opções que o assistente apresenta, o rcomp.cmd ficheiro é adicionado das tarefas agendadas. A primeira vez que configurou o tarefa agendada, seleccione o início hora 2 a 5 minutos no futuro para poder testar as definições. Muitas vezes é conveniente não Comentada o comando de pausa para que Pode ver quaisquer erros que ocorram.

Registar o serviço de monitorização de ficheiro

Partir o Dllhell\C_clients\HellsMonitor\ReleaseUMinDependency executar este comando, que regista o serviço de directório:
HellsMonitor /Service
				
A parte mais importante é o cliente de monitor. Esta é uma interface gráfica do utilizador que permite-lhe adicionar ou remover os directórios a monitorizar. Também permite Especifique a aplicação seja executada (com um botão de procura útil). Para o DUPS sistema de controlo, a aplicação está Dllhell\C_clients\Dlister\ReadTxtTblCmdLine\Debug\ReadTxtTblCmdLine.exe.

Para adicionar um directório para monitorizar, clique em Adicionar. Esta acção abre uma caixa de diálogo de procura do directório onde pode procurar o directório que pretende monitorizar. Para remover um directório ou directórios seleccione os directórios que pretende remover e, em seguida, clique em Remover. Para especificar a aplicação seja executada quer escrever ou Navegue para o mesmo. Se não especificar um caminho tem de estar no caminho do sistema algures. Em seguida, clique em Definir para definir o monitor para executar essa aplicação quando é uma alteração detectado.

Nota: O botão Definir só está activado quando alterar a aplicação para executar a partir do qual está actualmente definida. Botão ' Remover ' está activado apenas quando ter directórios seleccionados para remover.

Referências

Para mais informações, consulte o seguinte Web site da Microsoft:
"O fim de DLL Hell"

Propriedades

Artigo: 247957 - Última revisão: 28 de junho de 2013 - Revisão: 5.0
Palavras-chave: 
kbdownload kbfile kbhowto kbmt KB247957 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 247957

Submeter comentários

 

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