EXEMPLO: Usando o DUPS.exe para resolver problemas de compatibilidade DLL

Traduções deste artigo Traduções deste artigo
ID do artigo: 247957
Expandir tudo | Recolher tudo

Neste artigo

Sumário

A ferramenta de DLL Universal problema Solver (DUPS.exe) é um exemplo que contém todos os utilitários documentados em janeiro de 2000 Microsoft Developer Network (MSDN) artigo "O fim da DLL Hell". Revise que Artigo do MSDN antes de ler este artigo.

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

Mais Informações

O arquivo a seguir está disponível para download no Microsoft Download Centro:

DUPS.exe
Data de lançamento: 14 De janeiro de 2000

Para obter informações adicionais sobre como fazer o download Arquivos do Microsoft Support, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
119591 Como obter arquivos de suporte da Microsoft de serviços on-line
Microsoft examinou esse arquivo em busca de vírus. A Microsoft usou o máximo software de detecção de vírus atual que estava disponível na data em que o arquivo. foi lançada. O arquivo está armazenado em servidores com segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo. Este artigo e o código que acompanha este artigo serão atualizados periodicamente. Todos os comentários são bem-vindos e serão considerados no futuro atualizações. (Use o hotlink enviar no quadro da direita para comentários).
A Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita, incluindo, mas não se limitando a, garantias implícitas de comercialização e/ou adequação a um propósito específico. Este artigo presume que você esteja familiarizado com a linguagem de programação demonstrada e as ferramentas usadas para criar e depurar procedimentos. Profissionais de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades específicas.
Se você tem muita experiência de programação, você poderá entrar em contato com um Microsoft Certified Partner ou o Microsoft Advisory Services. Para obter mais informações, visite esses sites da Microsoft:

Parceiros - certificados da Microsoft https://Partner.microsoft.com/global/30000104

Microsoft Advisory Services- http://support.microsoft.com/gp/advisoryservice

Para obter mais informações sobre as opções de suporte estão disponíveis e sobre como entrar em contato com a Microsoft, visite o seguinte site da Microsoft:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS O pacote DUPS pode ser usado em um único computador ou para controle o histórico DLL de cada DLL na rede. Ele é executado no Windows 95 Modo do Windows 2000 e em sua forma mais simples não tem dependências. O pacote DUPS consiste em três utilitários de C++ e vários visualizadores do Visual Basic.

Se você apenas deseja comparar as DLLs que um aplicativo está usando em dois computadores (o computador A e computador B), execute o programa de Dlister.exe. Por padrão Dlister cria um arquivo no diretório com o nome Comp_DLL.txt, onde a composição é C:\ o nome do computador que executa o Dlister. Você também pode especificar que Dlister gravar em um banco de dados ou você pode especificar outro diretório no qual o arquivo. deve ser criado. Há duas maneiras para substituir os padrões do atributo Dlisters. Os visualizadores do Visual Basic e Dlister obtém essa chave do registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB Samples\r1dllHell
E os seguintes valores:
ConnectionString, fileTableDir
Você pode usar o miniaplicativo de Visual Basic DllHell\C_clients\ATL4VB\VbregSetup para definir esses valores, ou você pode simplesmente executar Dlister e cria valores padrão. Por exemplo, definindo o ConnectString para:
Provider=SQLOLEDB.1;Initial Catalog=dllHell;Data Source=dsc3_ts;
					
faz com que Dlister gravar valores para o SQL Server banco de dados dllHell, enquanto:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dllHell.mdb
					
usa um banco de dados local do Microsoft Access.

É a segunda maneira de substituir os valores padrão, definindo os atributos arquivo DllHell.ini no diretório Dlister.exe. Esses arquivos são descompactados em o diretório DllHell\C_clients\Dlister\Release\.

Um arquivo chamado. xdllHell.ini está incluída na amostra com uma seqüência de conexão que você pode modificar. (Renomeie este dllHell.ini se você quiser usá-lo).

Se computador A e computador B têm ActiveX Data Objects (ADO) instalado, o mais simples abordagem para preencher o banco de dados dllHell é definir a seqüência de conexão para o banco de dados do SQL Server ou o Jet. Como alternativa, você pode executar Dlister no arquivo de texto modo, em seguida, use o utilitário de C++ DllHell\C_clients\Dlister\readtxttbl\Release\DlgDtxt2DB.exe ler a saída arquivo de texto para o banco de dados DllHell. O aplicativo MFC ReadTxtTbl também é é útil para leitura no texto que os clientes de dados por email. Você deve se registrar os servidores COM DUPS\C_clients\ATL4VB\r1RegMon\ReleaseMinDependency\r1RegMon.dll e DUPS\C_clients\ATL4VB\readDlls\R1readTxtMod\ReleaseMinDependency\R1readTxtMod.dll Para usar os visualizadores do Visual Basic.

Você pode habilitar somas de verificação CRC definindo a chave do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB ComputeCRC de Samples\r1dllHell para 0x1 em sistemas que executam o Windows 2000. Depois que você Navegue para essa chave, você pode adicioná-lo aos seus favoritos. Os usuários do Windows NT 4 deve navegar manualmente para essa chave.

Criando o banco de dados DllHell

SQL Server 7.0 também é recomendável, mas o Microsoft Access 2000 Works. Para criar o banco de dados DLLhell você pode usar o SQL Server Enterprise Manager para criar um banco de dados vazio denominado DLLhell. Do SQL Server Query Analyzer janela, selecione DLLhell na caixa de listagem drop-down banco de dados. Executar o DllHell\SQL\dllHellSchema.sql script esta janela e ele cria todos os tabelas necessárias para Dllhell.

Como alternativa, você pode executar o seguinte comando em que o SQL Server Query Analyzer:
EXEC sp_attach_single_file_db 'DLLhell', 'DllHell\SQL\dllHell_Data.MDF'
				
O código cria o banco de dados e todas as tabelas.

Comparando as DLLs em dois sistemas

Para comparar todas as DLLs em dois sistemas usam o cmpWithList Visual Utilitário básico no diretório Dllhell\VBviewers\VBcmpList2.

Para limitar as comparações DLL (geralmente para somente as DLLs carrega um aplicativo de destino) Você também deve ter um arquivo de texto (. txt) que contém as DLLs que você deseja comparar. Você pode criar essa lista com Depends ou uma das várias ferramentas (como ListDLLs e o Process Explorer) do seguinte site da Web:
http://technet.microsoft.com/en-US/Sysinternals/default.aspx

Usando cmpWithList

Quando for cmpWithList iniciado ele mostra uma lista de computadores a Banco de dados DLLhell na caixa de listagem de computadores. Por padrão, os dois primeiros computadores na lista são selecionados para comparação. Para alterar o computador de destino, selecione ele na caixa de listagem e, em seguida, selecione o botão Alterar . As caixas de edição Comp1 e Comp2 mostram quais computadores você irá comparar.

Use o controle de navegação de diretório para selecionar o texto arquivo que conterá os nomes de todas as DLLs que você deseja comparar nos dois sistemas. Clicando duas vezes no arquivo de texto seleciona-lo.

Se você não fizer isso deseja comparar DLLs em alguns diretórios (geralmente não faz sobre DLLs em winnt\system32\dllcache e WINNT\$ NtServicePackUninstall$) clique duas vezes em a linha da grade. Você será solicitado a adicionar o diretório para o _skipDir tabela. DLLs no _skipDir não são considerados para comparação.

Instalação automática de rede DLL auditoria

Configurando no agendamento em sistemas Windows 2000:

Comece com o arquivo de comando dllHell\rcomp.cmd. Alterar o variáveis de ambiente para refletir seu sistema a seguir:
  1. Dpath: O diretório no cliente onde Dlister cria a lista de arquivos de texto de dlls no cliente. O padrão é C:\temp\DLLhell\
  2. COMP.: O nome do computador cliente.
  3. ChangeFileLocation: O caminho completo da rede onde a DLL arquivo de diferenças deve ser copiado. Este é o diretório que o HellsMonitor Inspeções de serviço.
  4. ServerLst: O caminho de rede onde o diretório C_clients do DLLhell pacote está localizado.
Na barra de tarefas, clique no botão Iniciar , aponte para programas, aponte para Acessórios, aponte para Ferramentas do sistema e, em seguida, clique em Tarefas agendadas.

Ative o miniaplicativo Adicionar tarefa agendada . Navegue até a pasta local que contém o rcomp.cmd arquivo e selecioná-lo. Depois de selecionar as opções que o assistente apresenta, o rcomp.cmd arquivo é adicionado para os trabalhos agendados. A primeira vez que você configura o trabalho agendado, selecione início hora 2 a 5 minutos no futuro para que você possa testar suas configurações. Muitas vezes é conveniente descomente o comando pause para que Você pode ver quaisquer erros que ocorram.

Registrar o arquivo de serviço de monitoramento

Do Dllhell\C_clients\HellsMonitor\ReleaseUMinDependency executar este comando, que registra o serviço de diretório:
HellsMonitor /Service
				
A parte mais importante é o cliente do monitor. Esta é uma interface gráfica que permite que você adicionar ou remover os diretórios para monitorar. Ele também permite que você Especifica o aplicativo seja executado (com o botão Procurar útil). Para o DUPS sistema de monitoramento, o aplicativo é Dllhell\C_clients\Dlister\ReadTxtTblCmdLine\Debug\ReadTxtTblCmdLine.exe.

Para adicionar um diretório para monitorar, clique em Adicionar. Isso abre uma caixa de diálogo de procura do diretório onde você pode procurar o diretório que você deseja monitorar. Para remover uma pasta ou pastas selecione os diretórios que você deseja remover e, em seguida, clique em Remover. Para especificar o aplicativo seja executado ou digitá-la ou Procure por ele. Se você não especificar um caminho deve ser no caminho do sistema em algum lugar. Em seguida, clique em Configurar para configurar o monitor para executar esse aplicativo quando uma alteração é detectado.

Observação: O botão Definir é habilitado apenas quando você alterar o aplicativo para executar a partir do qual ela está definida. O botão Remover é ativado somente quando você tiver selecionados para remoção de diretórios.

Referências

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

Propriedades

ID do artigo: 247957 - Última revisão: sexta-feira, 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 pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
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