Как просмотреть зарегистрированные DLL

Обновлено: 21.11.2024

Как зарегистрировать и отменить регистрацию DLL-файла с помощью regsvr32.exe

Тим Фишер имеет более чем 30-летний опыт работы в сфере технологий. Он пишет о технологиях более двух десятилетий и является вице-президентом и генеральным директором Lifewire.

Что нужно знать

  • Чтобы зарегистрировать DLL-файл myfile.dll, введите regsvr32 myfile.dll, а чтобы отменить его регистрацию, введите в командной строке regsvr32 /u myfile.dll.
  • Если вы получаете сообщение об ошибке при попытке зарегистрировать DLL-файл, возможно, у вас нет правильных разрешений или файл может быть заблокирован.
  • Другие ошибки могут быть связаны с отсутствием зависимости; если это так, используйте Dependency Walker, чтобы увидеть все зависимости, которые требуются для DLL-файла.

В этой статье объясняется, как использовать инструмент командной строки regsvr32 в Windows и как исправить некоторые ошибки regsvr32. Regsvr32 используется для регистрации и отмены регистрации элементов управления связыванием и внедрением объектов (OLE), таких как файлы DLL и файлы элементов управления ActiveX .OCX. Вам может потребоваться зарегистрировать файл DLL, если вы видите ошибку DLL на своем компьютере.

Как зарегистрировать и отменить регистрацию DLL-файла

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

Регистрация DLL-файла обычно выполняется путем переустановки программы, которая его зарегистрировала. Однако иногда вам может потребоваться зарегистрировать файл DLL вручную через командную строку.

Посмотрите наше руководство о том, как открыть командную строку, если вы не знаете, как ее найти.

Вот правильный способ структурирования команды regsvr32:

Например, вы должны ввести эту первую команду, чтобы зарегистрировать DLL-файл с именем myfile.dll, или вторую, чтобы отменить его регистрацию:

Не все библиотеки DLL можно зарегистрировать, просто введя указанную выше команду в командной строке. Возможно, вам придется сначала закрыть службу или программу, использующую файл.

Как исправить распространенные ошибки Regsvr32

Вот одна ошибка, которую вы можете увидеть при попытке зарегистрировать DLL-файл:

Обычно это проблема с разрешениями. Если запуск командной строки с повышенными привилегиями по-прежнему не позволяет зарегистрировать файл DLL, возможно, сам файл заблокирован. Проверьте раздел Безопасность на вкладке Общие в окне Свойства файла.

Еще одна возможная проблема может заключаться в том, что у вас нет правильных разрешений на использование файла.

Похожее сообщение об ошибке сформулировано так, как показано ниже. Эта ошибка обычно означает, что библиотека DLL не используется в качестве COM-библиотеки для какого-либо приложения на компьютере, а значит, нет необходимости ее регистрировать.

Вот еще одно сообщение об ошибке regsvr32:

Эта конкретная ошибка может быть связана с отсутствующей зависимостью, и в этом случае вы можете использовать Dependency Walker, чтобы просмотреть список всех зависимостей, которые требуются для файла DLL, так как может отсутствовать одна из них, необходимая для DLL для правильной регистрации.

Кроме того, убедитесь, что путь к файлу DLL указан правильно. Синтаксис команды очень важен; ошибка может быть вызвана, если он введен неправильно.

Некоторым файлам DLL может потребоваться заключить свое местоположение в кавычки, например:

Где хранится Regsvr32.exe?

32-разрядные версии Windows (XP и новее) добавляют средство сервера регистрации Microsoft в эту папку при первой установке Windows: %systemroot%\System32\.

Этот форум перенесен в раздел вопросов и ответов Майкрософт. Посетите Microsoft Q&A, чтобы публиковать новые вопросы.

Вопрос:

Вопрос

Я пытаюсь проверить, зарегистрирована ли dll?

Я пытаюсь написать функцию, которая будет проверять, зарегистрирована ли dll, и соответственно возвращать мне T/F!!

Все ответы

DLL зарегистрирована с помощью regsvr32, и я хочу проверить, зарегистрирована она или нет!

Да, это не GAC, а его реестр!

Создатель DLL должен решить, что делать в DllRegisterServer, который вызывается regsvr32. МСМВП VС++

Мой вопрос в том, что это может быть любая dll . если я просто рассмотрю сценарий,

у меня есть dll, скажем, kbdusr.dll

Для установки я использую regsvr32. у меня есть сообщение о том, что он зарегистрирован. Точно так же я удалю его.

Теперь мне нужно проверить, не зарегистрирована ли эта dll.

Пожалуйста, дайте мне знать!

Попробуйте создать экземпляр объекта класса, который вы пытаетесь использовать в try/catch. Если dll не зарегистрирована, создание экземпляра объекта завершится ошибкой с определенным сообщением об ошибке COM. Я считаю, что это «Класс не найден» или «Класс не зарегистрирован». Не помню точное сообщение об ошибке.

Regsvr32 не позволяет проверить, зарегистрирована ли dll.

Надеюсь, это поможет

Есть ли конкретное решение для этого? Я могу получить доступ к свойствам dll, когда я загружаю dll в библиотеку TypeLib, которая дает мне ее основной, второстепенный, guid и т. д.

Но я не могу сказать, зарегистрирован он или нет.

Я попробовал regsvr32 /u dllname и поискал в реестре эту dll. да, у него все еще есть записи!

Я в замешательстве. Есть ли выход?

Regsvr32.exe /u обычно удаляет все записи реестра для компонента, если он реализован правильно. Если вы все еще находите что-то, возможно, вы ранее зарегистрировали более раннюю версию. Управление версиями COM требует изменения идентификаторов GUID при изменении определений интерфейса. Если у вас больше нет более ранней версии DLL, вам придется вручную удалить записи реестра.

Используйте этот форум только для того, чтобы задавать вопросы о BCL.
Ханс Пассант.

Возможно, вы захотите взглянуть на этот небольшой фрагмент кода, который мы разработали для Regsvr32:

Исполняемый и исходный код (Visual C++ 7.0) доступны бесплатно.

Чтобы расширить то, что говорил Чад,

Записи реестра для зарегистрированных библиотек DLL находятся в разделе реестра HKEY_CLASSES_ROOT\CLSID.

Каждая запись в CLSID представляет собой вложенный куст, имя которого представляет собой GUID в квадратных скобках в стандартной форме. Например, HKEY_CLASSES_ROOT\CLSID\

Если DLL была правильно зарегистрирована, она будет иметь подулей под ним с именем InProcServer32.

Значением по умолчанию вложенного куста InProcServer32 является полный путь к DLL, который соответствует GUID. Тип этого значения по умолчанию может быть либо REG_SZ, либо REG_EXPAND_SZ, и в последнем случае путь обычно будет содержать идентификаторы переменных среды, такие как %System Root% в имени пути.

Если в вашем сценарии предлагается выбрать DLL с диска и найти ее запись, вы можете просканировать куст CLSID в поисках полного пути, заглянув в значение InProcServer32 по умолчанию для каждого CLSID и сравнив его, однако вам придется обрабатывать записи REG_EXPAND_SZ для правильного сравнения. С другой стороны, если вы просто хотите, чтобы пользователь ввел имя dll без пути, вы можете искать имя с помощью метода EndsWith(@"\"), не беспокоясь о записях REG_EXPAND_SZ, поскольку они могут обрабатываться точно так же, как такие же, как записи REG_SZ в этом сценарии.

RegDllView — небольшая утилита, отображающая список всех зарегистрированных файлов dll/ocx/exe (регистрация COM). Для каждого зарегистрированного файла вы можете просмотреть дату/время последней регистрации, а также список всех регистрационных записей (CLSID/ProgID).
RegDllView также позволяет отменить регистрацию файлов dll/ocx, которые больше не нужны в вашей системе. Если у вас есть файлы dll/ocx, которые больше не существуют в вашей системе, но их регистрационные записи все еще существуют в вашем реестре, вы можете вручную удалить эти записи, используя опцию «Удалить все записи для выбранных файлов».
Начиная с версии 1.35, RegDllView также позволяет регистрировать файлы dll/ocx (например, regsvr32), просто перетаскивая один или несколько файлов из папки Проводника в окно RegDllView.

Системные требования

Эта утилита работает в любой версии Windows — от Windows 98 до Windows 10. Также имеется отдельная загрузка для обработки регистраций x64.

История версий

  • Версия 1.60:
    • Добавлен столбец "Расширение файла".
    • Добавлена ​​поддержка вторичной сортировки. Теперь вы можете получить вторичную сортировку, удерживая клавишу Shift и нажимая заголовок столбца. Имейте в виду, что вам нужно удерживать клавишу Shift только при нажатии на второй/третий/четвертый столбец. Для сортировки первого столбца не нужно удерживать клавишу Shift.
    • Функция "Чтение цифровых подписей" по умолчанию отключена.
    • Добавлен параметр "Показывать время по Гринвичу".
    • Исправлено отображение значений даты/времени в соответствии с настройками летнего времени.
    • Исправлена ​​ошибка: RegDllView не удалось извлечь цифровые подписи на некоторых системах.
    • Добавлен столбец «Цифровая подпись», в котором отображается имя подписавшего, если зарегистрированная библиотека DLL подписана цифровой подписью. Этот столбец активен, только если включена опция «Чтение цифровых подписей» (в меню «Параметры»).
    • Добавлен параметр "Автоматически изменять размер столбцов и заголовков".
    • При запуске RegDllView в Windows Vista/7/8/2008 без параметра «Запуск от имени администратора» теперь можно использовать функцию «Открыть в RegEdit» (при использовании параметра «Открыть в RegEdit» появится окно повышения прав) .
    • Исправлена ​​проблема: диалоговое окно свойств и другие окна открывались не на том мониторе в системе с несколькими мониторами.
    • Добавлен пункт меню «Стоп», чтобы остановить процесс сканирования зарегистрированных dll-файлов.
    • Добавлен параметр «Отметить четные/нечетные строки» в меню «Вид». Когда он включен, нечетные и четные строки отображаются разным цветом, чтобы упростить чтение одной строки.
    • Добавлен параметр «Добавить строку заголовка в файл CSV/файл с разделителями табуляцией». Если этот параметр включен, имена столбцов добавляются в качестве первой строки при экспорте в файл csv или файл с разделителями табуляцией.
    • Добавлена ​​документация по командной строке, которая до сих пор отсутствовала.
    • Добавлены параметры командной строки для сортировки.
    • Исправлена ​​ошибка: в RegDllView возникала ошибка "CoInitialize не была вызвана" при попытке зарегистрировать или отменить регистрацию dll-файла.
    • Добавлена ​​поддержка перетаскивания. При перетаскивании файлов .dll/.ocx из Проводника в окно RegDllView они автоматически регистрируются.
    • Добавлена ​​опция «Перерегистрировать файлы». Позволяет повторно зарегистрировать уже зарегистрированные файлы. (Для устранения проблем с регистрацией)
    • Исправлены некоторые проблемы с параметром "Отменить регистрацию выбранных файлов".
    • Добавлена ​​опция "Открыть папку".
    • Добавлена ​​опция "Зарегистрировать файл".
    • Добавлена ​​версия x64.
    • Добавлена ​​опция «Копировать в проводнике». Позволяет копировать выбранные файлы, а затем вставлять их в папку в проводнике.
    • Добавлены новые столбцы: время изменения файла, время создания файла, атрибуты файла.
    • Добавлен новый параметр: «Создать файл .reg для удаления записей». Позволяет создать файл .reg, который удалит все записи выбранных зарегистрированных файлов при его запуске. Этот параметр может быть полезен, если вы хотите очистить одни и те же зарегистрированные файлы на нескольких машинах.
    • Добавлено больше сочетаний клавиш.
    • Устранена проблема с фокусом после использования параметров отмены регистрации/удаления.
    • Добавлен столбец «Элементы управления» (количество зарегистрированных элементов управления для указанного файла).
    • Добавлены столбцы "Модель потоков" и "Время последней записи" для нижней панели.
    • Добавлен столбец только с названием (без полного пути)
    • Добавлены столбцы с информацией о версии (название продукта, версия продукта, название компании и т. д.)
    • Добавлен новый параметр: Удалить все записи для выбранных файлов. Этот параметр можно использовать, если файл отсутствует и нельзя использовать параметр отмены регистрации.
    • Исправлена ​​ошибка: основное окно теряло фокус, когда пользователь переключался на другое приложение, а затем возвращался обратно в RegDllView.

    Начать использовать RegDllView

    • Верхняя панель — отображает список всех зарегистрированных файлов.
    • Нижняя панель. На верхней панели отображается список всех регистрационных записей COM для выбранного файла.

    Советы по использованию RegDllView

    • Если вы хотите просмотреть файлы, зарегистрированные за последние часы/дни, просто щелкните столбец "Дата последней регистрации", и список будет отсортирован по дате регистрации.
    • Если вы хотите найти устаревшие регистрации в вашей системе, просто нажмите «Отсутствующий файл», чтобы отсортировать список по статусу «Отсутствует файл».
    • Вы можете отменить регистрацию нескольких dll-файлов, просто выбрав их на верхней панели, а затем воспользовавшись параметром «Отменить регистрацию выбранных файлов». Однако эта функция не работает с отсутствующими/поврежденными файлами.
    • В столбце «Системные записи» отображается количество записей COM в разделе HKEY_LOCAL_MACHINE\Software\Classes\CLSID для указанного файла.
    • В столбце "Записи пользователей" отображается количество записей COM в разделе HKEY_CURRENT_USER\Software\Classes\CLSID для указанного файла.

    Параметры командной строки

    Перевод RegDllView на другие языки

    1. Запустите RegDllView с параметром /savelangfile:
      RegDllView.exe /savelangfile
      В папке утилиты RegDllView будет создан файл с именем RegDllView_lng.ini.
    2. Откройте созданный языковой файл в Блокноте или любом другом текстовом редакторе.
    3. Переведите все строковые записи на нужный язык. При желании вы также можете добавить свое имя и/или ссылку на свой веб-сайт. (значения TranslatorName и TranslatorURL). Если вы добавите эту информацию, она будет использоваться в окне "О программе".
    4. После завершения перевода запустите RegDllView, и все переведенные строки будут загружены из языкового файла.
      Если вы хотите запустить RegDllView без перевода, просто переименуйте языковой файл или переместите его в другую папку.

    Лицензия

    Эта утилита распространяется бесплатно. Вам разрешено свободно распространять эту утилиту через дискету, CD-ROM, Интернет или любым другим способом, если вы ничего за это не берете. Если вы распространяете эту утилиту, вы должны включить все файлы в дистрибутив без каких-либо изменений!

    Отказ от ответственности

    Программное обеспечение предоставляется «КАК ЕСТЬ» без каких-либо явных или подразумеваемых гарантий, включая, помимо прочего, подразумеваемые гарантии товарного состояния и пригодности для определенной цели. Автор не несет ответственности за какой-либо особый, случайный, косвенный или косвенный ущерб из-за потери данных или по любой другой причине.

    Отзыв

    RegDllView также доступен на других языках. Чтобы изменить язык RegDllView, загрузите zip-файл соответствующего языка, извлеките «regdllview_lng.ini» и поместите его в ту же папку, в которой вы установили утилиту RegDllView.

    Большая часть функций операционной системы Windows обеспечивается файлами DLL или библиотеками динамической компоновки. Эти файлы DLL представляют собой библиотеки, содержащие коды и данные, которые могут использоваться более чем одной программой одновременно.

    Просмотр зарегистрированных файлов DLL

    Такие файлы, как файлы элементов управления ActiveX (.ocx), файлы панели управления (.cpl) и файлы драйверов устройств (.drv), реализованы в виде библиотек DLL в операционных системах Windows. Чтобы эти файлы DLL функционировали должным образом, их необходимо «зарегистрировать», и по умолчанию это делает операционная система.

    Но иногда некоторые DLL-файлы могут создавать проблемы, приводящие к неправильной работе Windows или некоторых ее программ. Мы уже видели, как отменить регистрацию или зарегистрировать файлы DLL или OCX в Windows.

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

    Но этот инструмент предлагает гораздо больше возможностей. RegDllView просканирует ваш компьютер и отобразит список всех зарегистрированных файлов DLL, OCX и EXE. Это также позволит вам просмотреть дату и время последней регистрации, а также список всех регистрационных записей (CLSID/ProgID). Он также показывает всю информацию, относящуюся к файлу DLL, такую ​​как название компании, описание файла, версия файла, название продукта, даты изменения или создания, атрибуты файла, идентификатор класса, идентификатор профессора и т. д.

    Скачать RegDllView

    Если вам когда-либо понадобится просмотреть все зарегистрированные DLL-файлы на вашем компьютере или устранить неполадки в них, вам помогут такие инструменты, как Dependency Walker и DLL Universal Problem Solver, но вы также можете воспользоваться функциями, которые предоставляет RegDllView от Nirsoft. предложить.

    Дата: 11 августа 2019 г. Метки: файлы, бесплатное ПО

    Похожие записи

    Как удалить файлы старше X дней в Windows 11/10

    Создайте колоду с помощью бесплатного программного обеспечения Deck Designer и онлайн-инструментов

    AutoActions позволяет автоматически изменять настройки приложений

    [электронная почта защищена]

    3 ответа. Чтобы просмотреть все зарегистрированные библиотеки DLL, вы можете использовать следующие бесплатные утилиты: RegDllView — это инструмент для просмотра зарегистрированных файлов dll/ocx/exe в вашей системе, а также может регистрировать файлы dll из Проводника. ListDLLs — это еще один инструмент, который сообщает о библиотеках DLL, загруженных в процессы.

    Где DLL зарегистрированы в реестре?

    Regsvr32 — это утилита командной строки для регистрации и отмены регистрации элементов управления OLE, таких как библиотеки DLL и элементы управления ActiveX, в реестре Windows. Regsvr32.exe устанавливается в папку %systemroot%\System32 в Windows XP и более поздних версиях Windows.

    Как зарегистрировать незарегистрированные библиотеки DLL с помощью утилиты REGSVR32?

    Если вы хотите вручную зарегистрировать/отменить регистрацию DLL-файлов с помощью командной строки Regsvr32, вы можете сделать это….Регистрация библиотеки динамических ссылок

    1. При необходимости войдите в систему, используя учетную запись администратора.
    2. Нажмите "Пуск" и введите команду или cmd в поле поиска.
    3. Введите regsvr32 «путь и имя файла».

    Как зарегистрировать DLL вручную?

    Нажмите «Пуск» > «Все программы» > «Стандартные», щелкните правой кнопкой мыши «Командная строка» и выберите «Запуск от имени администратора» ИЛИ в поле поиска введите CMD, и когда в результатах появится cmd.exe, щелкните правой кнопкой мыши cmd. exe и выберите «Запуск от имени администратора». В командной строке введите: REGSVR32 «ПУТЬ К DLL-ФАЙЛУ»

    Как просмотреть библиотеки DLL в обозревателе процессов?

    1. Запустите Outlook.
    2. Дважды щелкните Procexp.exe, чтобы запустить Process Explorer.
    3. Убедитесь, что в меню "Вид" установлен флажок "Показать нижнюю панель".
    4. Нажмите CTRL + D или выберите «Вид» — «Вид нижней панели» – «Библиотеки DLL», чтобы включить режим просмотра DLL.
    5. В верхней панели Process Explorer прокрутите список файлов вниз и выберите Outlook.exe.

    Что такое процессы DLL?

    В компьютерном программировании внедрение DLL — это метод, используемый для запуска кода в адресном пространстве другого процесса, заставляющего его загружать библиотеку динамической компоновки. Программа, используемая для внедрения произвольного кода в произвольные процессы, называется инжектором DLL.

    Что такое регистрация DLL?

    Регистрируя DLL, вы добавляете информацию в центральный каталог (реестр) для использования в Windows. Информация обычно включает «понятное имя» компонента, которое облегчает его использование из другой программы, и полный путь к файлу . dll или .

    Как отменить регистрацию и зарегистрировать DLL?

    Чтобы отменить регистрацию отдельных файлов DLL:

    1. Нажмите «Пуск» > «Выполнить» (или используйте командную строку Windows: «Поиск» > «CMD» > «Щелкните правой кнопкой мыши — «Запуск от имени администратора»)
    2. Введите REGSVR32 /U «C:\Blackbaud\DLL\[filename.dll]». Например, чтобы отменить регистрацию типа SQLDMO.dll, REGSVR32 /U «C:\Program Files\Microsoft SQL Server\80\Tools\Binn \SQLDMO.dll”
    3. Нажмите "ОК".

    Как зарегистрировать DLL-файл в 64-разрядной версии Windows 10?

    Зарегистрируйте 32- или 64-разрядные библиотеки DLL в Windows

    1. Шаг 1. Сначала нажмите "Пуск", затем "Выполнить".
    2. Шаг 2. Теперь все, что вам нужно сделать, чтобы зарегистрировать файл DLL, — это ввести команду regsvr32, а затем указать путь к файлу DLL.
    3. Шаг 3. Теперь нажмите "ОК". Вы должны получить подтверждающее сообщение об успешной регистрации библиотеки DLL.

    Нужно ли регистрировать библиотеки DLL?

    Короткий ответ: вам не нужно регистрировать библиотеки DLL, чтобы использовать их. Единственным исключением являются библиотеки DLL COM и ActiveX, которым необходимо добавить определенные ключи в реестр. Для обычной библиотеки DLL (включая библиотеки классов .NET) все, что вам нужно знать, — это путь к библиотеке DLL.

    Как узнать, какие библиотеки DLL запущены?

    После запуска включите просмотр загруженных библиотек DLL, нажав CTRL+D или выбрав пункт Вид > Нижняя панель > Библиотеки DLL в строке меню. Выберите целевой процесс в верхней панели. Теперь на нижней панели должны отображаться загруженные модули.

    Читайте также: