Пример: использование DUPS.exe для разрешения проблем совместимости библиотек DLL

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 247957
Аннотация
Средство универсального решения проблемы DLL (DUPS.exe) — пример, содержащий все средства, описанные в январе 2000 статьи новостей Microsoft Developer Network (MSDN) «Конец DLL Hell.» Перед чтением этой статьи ознакомьтесь с этой статье MSDN.

Пакет DUPS представляет собой набор средств, которые можно использовать для отслеживания и сравнения версий библиотек DLL на нескольких компьютерах под управлением Windows. Максимальное число регулируется установки SQL Server или Microsoft Access. Клиент Dlister, перечисляющий библиотек DLL в системе работает на Windows 95 или Windows 98, Windows NT 4.0 и Windows 2000. Средства просмотра были разработаны для Windows NT 4.0 и Windows 2000 и Microsoft Access или Microsoft SQL Server. Она была протестирована с Microsoft Access 97 и более поздних версиях SQL Server 6.5 и более поздних версий.
Дополнительная информация
Следующий файл доступен для загрузки из центра загрузки Майкрософт:

Дата выпуска: Янв-14-2000

Дополнительные сведения о том, как загрузить файлы поддержки Майкрософт см. в следующей статье базы знаний Майкрософт:
119591 Как загрузить файлы поддержки Microsoft через оперативные службы
Корпорация Майкрософт проверила этот файл на наличие вирусов. Корпорация Майкрософт использует последнее антивирусное программное обеспечение, доступное на период публикации файла. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение. В этой статье и сопутствующий код будет обновляться. Все комментарии приветствуются и будут рассматриваться в будущих обновлений. (Использовать горячие ссылки отправить в правой части окна для добавления комментариев).
Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и без гарантии или подразумеваемых, включая, но не ограничиваясь, подразумеваемые гарантии товарности или пригодности для определенной цели. Предполагается, что вы знакомы с демонстрируемым языком программирования и средствами, используемые для разработки и отладки. Специалисты службы технической поддержки Майкрософт могут объяснить возможности конкретной процедуры, но не выполнять модификации примеров для обеспечения функциональных возможностей или удовлетворения конкретных потребностей.
Если вопросам программирования может потребоваться связаться с сертифицированным партнером корпорации Майкрософт или в консультационной службе корпорации Майкрософт. Для получения дополнительных сведений посетите следующие веб-сайты корпорации Майкрософт:

Сертифицированных партнеров Майкрософт: https://Partner.Microsoft.com/Global/30000104

Консультационная служба Майкрософт- http://support.Microsoft.com/gp/advisoryservice

Дополнительные сведения о доступных вариантах поддержки и о том, как связаться с корпорацией Майкрософт посетите следующий веб-сайт корпорации Майкрософт:http://support.microsoft.com/default.aspx?scid=fh; EN-US; CNTACTMS Пакет DUPS может использоваться на одном компьютере или для отслеживания истории DLL каждой библиотеки DLL в сети. Он работает на Windows 95, Windows 2000 и в что его простой режим не имеет зависимостей. Пакет DUPS состоит из трех программ C++ и нескольких средств просмотра Visual Basic.

Если требуется сравнить библиотеки DLL приложения используется на два компьютера (компьютер А и компьютер B), запустите программу Dlister.exe. По умолчанию Dlister создает файл в каталоге с именем Comp_DLL.txt, где — имя компьютера, Dlister Comp C:\. Можно также указать, что Dlister запись в базу данных, или можно указать другой каталог, в котором должен быть создан файл. Чтобы переопределить параметры по умолчанию для атрибута Dlisters двумя способами. Dlister и средства просмотра Visual Basic получить этот раздел реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB Samples\r1dllHell
И следующие значения:
ConnectionString, fileTableDir
Приложение Visual Basic DllHell\C_clients\ATL4VB\VbregSetup можно использовать для установки этих значений или можно просто запустить Dlister и создает значения по умолчанию. Например установка стрсоедин:
Provider=SQLOLEDB.1;Initial Catalog=dllHell;Data Source=dsc3_ts;					
вызывает Dlister для записи значений в базе данных SQL Server dllHell, пока:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dllHell.mdb					
использует локальную базу данных Microsoft Access.

Второй способ переопределить значения по умолчанию — путем установки атрибутов в файл DllHell.ini в каталоге Dlister.exe. Эти файлы являются распаковать в каталог DllHell\C_clients\Dlister\Release\.

В примере со строкой соединения, можно изменить включается в файл с именем xdllHell.ini. (Переименование этого dllHell.ini, если вы хотите использовать его.)

Если компьютера A к компьютеру B оба имеют ActiveX Data Objects (ADO) установлен, чтобы задать строку подключения к базе данных SQL Server или Jet является простой подход для заполнения базы данных dllHell. Кроме того можно выполнить Dlister в режиме текстового файла и программа C++ DllHell\C_clients\Dlister\readtxttbl\Release\DlgDtxt2DB.exe используется для считывания текстового файла вывода в базу данных DllHell. Приложение ReadTxtTbl MFC также полезна для чтения текст, данные клиентов электронной почты. Необходимо зарегистрировать COM-серверов, DUPS\C_clients\ATL4VB\r1RegMon\ReleaseMinDependency\r1RegMon.dll и DUPS\C_clients\ATL4VB\readDlls\R1readTxtMod\ReleaseMinDependency\R1readTxtMod.dll, для использования средства просмотра Visual Basic.

Контрольные суммы CRC можно включить путем настройки раздела реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB Samples\r1dllHell ComputeCRC 0x1 в системах под управлением Windows 2000. Как только вы переходите к этому ключу, его можно добавить в «Избранное». Пользователи Windows NT 4 необходимо вручную перейти этот ключ.

Создание базы данных DllHell

Рекомендуется использовать SQL Server 7.0, но также работает в Microsoft Access 2000. Для создания базы данных DLLhell SQL Server Enterprise Manager можно использовать для создания пустой базы данных с именем DLLhell. В окне SQL Server Query Analyzer выберите DLLhell из раскрывающегося списка баз данных. Запустите сценарий DllHell\SQL\dllHellSchema.sql в этом окне и создает все таблицы, необходимые для Dllhell.

Также в анализаторе запросов SQL Server можно запустить следующую команду:
EXEC sp_attach_single_file_db 'DLLhell', 'DllHell\SQL\dllHell_Data.MDF'				
Код создает базу данных и таблицы.

Сравнение DLL на двух системах

Для сравнения всех библиотек DLL на двух системах используйте cmpWithList программы Visual Basic в каталоге Dllhell\VBviewers\VBcmpList2.

Для ограничения сравнения библиотеки DLL (обычно, чтобы только эти библиотеки DLL целевое приложение загружает) должен иметь текстовый (.txt) файл, содержащий библиотеки DLL, которую требуется сравнить. Этот список можно создать с определяется или один или несколько средств (таких как ListDLLs и Process Explorer) на следующем веб-узле:

С помощью cmpWithList

При запуске cmpWithList он показывает список компьютеров в базе данных DLLhell в списке компьютеров. По умолчанию для сравнения выбраны первых двух компьютеров в списке. Для изменения целевого компьютера, выберите его в списке и затем нажмите кнопку Изменить . Comp1 и Comp2 изменить поля Показать, какие компьютеры будут сравнивать.

Используйте элемент управления навигации каталога для выберите текстовый файл, содержащий имена всех библиотек DLL, необходимо сравнить две системы. Дважды щелкнув на текстовом файле выбирает его.

Если вы не хотите сравнить библиотеки DLL в некоторых каталоги (обычно неважно, о библиотеках DLL в winnt\system32\dllcache и WINNT\$ NtServicePackUninstall$) дважды щелкните строку в сетке. Вам будет предложено добавить каталог в таблицу _skipDir. Для сравнения не учитываются библиотек DLL в _skipDir.

Установка автоматического сетевая DLL аудита

Установка в системе Windows 2000 это расписание:

Начните с командный файл dllHell\rcomp.cmd. Измените следующие переменные среды в соответствии Вашей системы:
  1. Dpath: Каталог на клиентском компьютере, где Dlister createsthe текстовый файл списка библиотек DLL на клиентском компьютере. IsC:\temp\DLLhell\ по умолчанию
  2. КОМПОЗИЦИЯ: Имя клиентского компьютера.
  3. ChangeFileLocation: Полный сетевой путь к которой необходимо скопировать файл DLLdifferences. Это каталог, который отслеживает HellsMonitorservice.
  4. ServerLst: Где находится directoryof C_clients DLLhell пакет сетевой путь.
На панели задач нажмите кнопку Пуск выберите команды программы, Стандартные, Служебные и щелкните Назначенные задания.

Активация приложения Планирования заданий . Перейдите к локальной папке, содержащей файл rcomp.cmd и выберите его. После выбора параметров, мастер выводит файл rcomp.cmd добавляется с запланированными заданиями. В первый раз настроить задания, выберите время начала в будущем 2-5 минут, можно проверить настройки. Часто удобно раскомментируйте команда pause таким образом, можно увидеть любые возникающие ошибки.

Зарегистрируйте файл наблюдение за службой

В каталоге Dllhell\C_clients\HellsMonitor\ReleaseUMinDependency, выполните следующую команду, которая регистрирует службу:
HellsMonitor /Service				
Наиболее важной частью является монитор клиента. Это графический интерфейс пользователя, можно добавить или удалить каталоги для мониторинга. Он также позволяет указать приложение для запуска (с помощью кнопки Обзор под рукой). Приложение для DUPS наблюдение за системой, является Dllhell\C_clients\Dlister\ReadTxtTblCmdLine\Debug\ReadTxtTblCmdLine.exe.

Чтобы добавить каталог для мониторинга, нажмите кнопку Добавить. Открытие этого каталога диалогового окна Обзор которых можно перейти в каталог вы хотите отслеживать. Чтобы удалить каталог или каталоги выберите каталоги, которые вы хотите удалить и нажмите кнопку Удалить. Чтобы указать приложение для запуска любого типа в или перейдите к нему. Если путь не указан, она должна быть в системный путь, куда-нибудь. Затем нажмите кнопку установить для установки монитора, чтобы выполнить приложение при обнаружении изменений.

Примечание: набор кнопка активна только в том случае, при изменении приложения для запуска в то, что он настроен. Кнопку «Удалить» включена только в том случае, если у вас каталоги, выбранные для удаления.
Ссылки
Дополнительные сведения см. ниже на веб-сайте корпорации Майкрософт:
СОВПАДАЮЩИЕ ЗАПИСИ

Внимание! Эта статья переведена автоматически

Vlastnosti

ID článku: 247957 – Posledná kontrola: 02/09/2016 02:52:00 – Revízia: 6.0

  • kbdownload kbfile kbhowto kbmt KB247957 KbMtru
Pripomienky