Как отменить регистрацию библиотеки dll
Как зарегистрировать DLL библиотеки (x32-64 bit) в Windows 10/7
Когда пользователь запускает игры или программы, то может столкнуться с ошибкой, что не удалось запустить программу, так как на компьютере отсутствует DLL файл. В большинстве случаях, регистрация указанного DLL файла может устранить данную ошибку. Также, иногда бывают моменты, когда библиотеку нужно перезарегистрировать заново, т.е. отменить текущую регистрацию и заново зарегистрировать.
Воспользуемся инструментом Regsvr32 командной строки, который регистрирует и отменяет регистрацию DLL библиотек и ActiveX (OCX) в Windows 10/8.1/7.
Отмена и повторная регистрация DLL библиотеки
Путь к DLL библиотеке можно скопировать, чтобы не писать его вручную в командой строке. Для этого, зажмите левый Shift и нажмите правой кнопкой мыши по DLL фалу, после чего «Копировать как путь«.
Наберите в поиске «Командная строка» и нажмите по ней правой кнопкой мыши, после чего выберите «Запустить от имени администратора» и вводите ниже команды, которые вам необходимы.
Регистрация DLL библиотеки
В командную строку введите следующую команду, чтобы зарегистрировать DLL библиотеку в системе Windows.
Отменить регистрацию файла DLL
Чтобы отменить текущую регистрацию DLL файла, введите ниже команду и нажмите Enter:
Перерегистрировать все файлы dll
Чтобы зарегистрировать все файлы dll в системе Windows, то:
Регистрация 32-битной DLL в 64-битной ОС
Если вы получаете сообщение об ошибке при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии Windows, выполните следующие действия:
Что нужно учесть?
1. В 64-разрядной версии операционной системы Windows существует две версии файла Regsv32.exe:
2. В 64-разрядной версии Windows, 32-разрядные файлы DLL всегда находятся в папке Windows\SysWOW64. В то время как 64-битные библиотеки DLL находятся в папке Windows\System32. В 32-битной версии Windows, файлы DLL находятся только в папке Windows\System32. Здесь не будет папки SysWOW64.
3. Если вы получаете ошибки, такие как DllRegisterServer, модуль несовместим с версией Windows или точка входа не найдена, то знайте:
Как исправить?
4. Отключите на время контроль учетных записей ( UAC ) во время регистрации DLL, так как он может мешать процессу.
Утилита regsvr32.exe является стандартной программой командной строки для регистрации и отмены регистрации элементов управления OLE, ActiveX и библиотек DLL в реестре Windows. В 64-разрядных версиях Windows присутствуют две версии файла regsv32.exe :
— 32-разрядная версия в каталоге %systemroot%\SysWoW64 (обычно – C:\Windows\SysWoW64)
Для работы утилиты требуются повышенные привилегии, поэтому окно командной строки должно вызываться с правами администратора ( ”Запуск от имени администратора”).
При запуске regsvr32.exe без параметров командной строки, либо при запуске с неверными параметрами, отображается подсказка:
Формат командной строки REGSVR32:
Regsvr32 [/u] [/s] [/n] [/i[:строка_команд]] DLL-файл
/i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд;
/n — не вызывает DllRegisterServer; может использоваться с ключом /I;
/s – «тихий» режим; окна сообщений не отображаются;
Примеры использования regsvr32.exe :
Для подавления вывода сообщения, используется параметр /s :
regsvr32 /u /s «C:\Program Files\7-Zip\7-zip.dll»
В результате выполнения данной команды, из контекстного меню Проводника Windows, вызываемого правой кнопкой мышки, исчезнет пункт архиватора 7-Zip. Для его восстановления необходимо выполнить регистрацию 7-zip.dll командой:
regsvr32 «C:\Program Files\7-Zip\7-zip.dll»
Необходимо не забывать о разрядности регистрируемых объектов в 64-разрядных версиях ОС. В случае необходимости регистрации 32-разрядного объекта, нужно явно указать путь для 32-битной редакции утилиты regsvr32 :
Или без использования переменных окружения:
— Получить в удобном виде список всех зарегистрированных в системе объектов.
— Сохранить в текстовом файле или в HTML-формате параметры всех или выделенных из списка зарегистрированных DLL.
— Выполнить регистрацию или отмену регистрации выбранных объектов.
— Создать reg-файл для выполнения отмены регистрации одной или нескольких DLL.
— Зарегистрировать или перерегистрировать указанный файл.
Кроме того, имеется возможность проверить цифровые подписи исполняемых файлов зарегистрированных объектов, просмотреть или изменить их свойства, а также выполнить запуск редактора реестра с отображением информации выбранного GUID через пункт контекстного меню ”Open in Regedit”, вызываемого правой кнопкой мышки.
Использование средства Regsvr32 и устранение неполадок, связанных с выводимыми им сообщениями об ошибках
Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на странице ошибок и событий TechNet.
Аннотация
Regsvr32 — это служебная программа командной строки для регистрации и отмены регистрации элементов управления OLE, например ActiveX и библиотеки DLL в реестре Windows. Средство Regsvr32.exe установлено в папке %systemroot%\System32 в ОС Windows XP и более поздних версиях Windows.
Примечание. В 64-разрядных версиях Windows есть две версии файла Regsv32.exe:
64-разрядная версия — %systemroot%\System32\regsvr32.exe;
32-разрядная версия — %systemroot%\SysWoW64\regsvr32.exe.
Синтаксис команды Regsvr32
Программа RegSvr32.exe имеет следующие параметры командной строки.
Regsvr32 [/u] [/n] [/i[:строка_команд]] DLL-файл
/u — отменяет регистрацию сервера
/i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд; при использовании с ключом /u вызывает DllUnInstall.
/n — не вызывает DllRegisterServer; это может использоваться с ключом /i
/s – «тихий» режим; окна сообщений не отображаются
Типичные решения ошибок Regsvr32
При появлении ошибки Regsvr32 попробуйте устранить ее одним из следующих способов.
Способ 1. Повторный запуск команды Regsvr32 в командной строке с повышенными привилегиямиЧтобы открыть командную строку с повышенными привилегиями, выполните указанные ниже действия.
Windows 8.1 и Windows 8Проведите пальцем от правого края экрана к центру и коснитесь кнопки Поиск. Либо, если вы используете мышь, переместите указатель в правый нижний угол экрана и щелкните кнопку Поиск. Введите запрос Командная строка в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Windows 7 и Windows VistaНажмите кнопку Пуск, введите запрос Командная строка или cmd в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, а затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Windows XPВойдите в систему в качестве администратора или с другой учетной записью с правами администратора и откройте окно «Командная строка».
Способ 2. Использование 32-разрядной версии Regsvr32 для регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС WindowsЕсли при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС Windows появляется ошибка, выполните следующие действия.
Откройте командную строку с повышенными привилегиями.
Если 32-разрядная библиотека DLL находится в папке %systemroot%\System32, переместите ее в папку %systemroot%\SysWoW64.
Отменить регистрацию, зарегистрировать, перерегистрировать файлы DLL или OCX в Windows 10/8/7
Инструмент Regsvr32 – это утилита командной строки, которую можно использовать для регистрации и отмены регистрации элементов управления OLE, таких как элементы управления DLL и ActiveX (OCX), в операционной системе Windows. Если вы обнаружите, что некоторые из ваших функций Windows работают нормально, вам может понадобиться зарегистрировать файлы DLL. Из этого туториала Вы узнаете, как зарегистрировать или отменить регистрацию DLL-файла, используя встроенный Regsvr.exe или некоторые бесплатные инструменты регистрации DLL.
Зарегистрировать файл dll
Чтобы зарегистрировать файл dll или ocx, откройте окна командной строки от имени администратора, введите следующее и нажмите Enter:
Перерегистрировать все файлы DLL
Чтобы зарегистрировать ВСЕ DLL-файлы, откройте окно командной строки от имени администратора, введите следующее и нажмите Enter:
Отменить регистрацию DLL-файла
Чтобы отменить регистрацию файла dll или ocx, откройте окно командной строки от имени администратора, введите следующее и нажмите Enter:
Это зарегистрирует или отменит регистрацию файла dll.
Регистрация DLL бесплатно
Если вы хотите, вы также можете использовать сторонние бесплатные программы, чтобы сделать это легко. Некоторые из них, такие как Rootreg, Register/Unregister OCX/DLL Utility, RegDllView и т. Д., Позволят вам сделать то же самое легко. Emsa Register DLL Tool, к сожалению, больше не является бесплатной.
Пост перенесен с WVC, обновлен и размещен здесь.
Что такое DLL-сироты? Узнай!
Этот пост поможет вам исправить ошибки отсутствующих DLL-файлов на вашем ПК с Windows.
Хотите узнать больше о других файлах, процессах или типах файлов или форматах файлов в Windows? Проверьте эти ссылки:
Regsvr32
[краткая] история распределенного кода
Не лишним тут, я думаю, будет познакомиться с историей распределенного кода, что даст нам понимание причин возникновения и развития динамических библиотек. А это, в свою очередь, даст очевидное представление о том, какой функционал несет в себе средство regsvr32 и для чего оно, собственно, предназначается.
Линейное программирование
На заре развития языков программирования, при создании (разработке) программ использовался так называемый линейный подход, который заключался в том, что код писался/выполнялся «сверху-вниз», в четкой последовательности от начала к концу. Но как только человек научился писать код чуть сложнее, чем простой вывод фразы «Hello, World!», перед ним тут же встало несколько проблем, которые показали, что подход имеет очевидные недостатки:
Процедуры (функции)
Стояла очевидная проблема разделения, а так же многократного использования кода. Поэтому, по мере развития технологий программирования появилось процедурное (функциональное) программирование, которое было основано на том, что области кода выделялись в отдельные блоки под названием функции (процедуры), к которым имелась возможность многократного обращения (вызова) из любого места программы. Это существенно упростило архитектуру приложения, решило важную проблему дублирующегося кода, поскольку теперь вместо того, чтобы программе использовать повторяющиеся участки кода на протяжении всего процесса выполнения, проще разместить его в отдельной процедуре (функции) и многократно вызывать [по мере необходимости]. Тем не менее, данный подход требовал доработки, поскольку:
Оверлеи
В условиях дороговизны оперативной памяти и отсутствия у многих операционных систем того времени (MSDOS) механизма виртуализации адресного пространства процесса (виртуальной памяти), обеспечивающего достаточное адресное пространство для приложений, появилась необходимость загружать в ограниченное пространство [дорогой] физической памяти много превосходящие по размеру код/данные приложений. Следствием всего этого явилось разбиение кода/данных программы на обособленные модули, получившие название оверлеев (overlay). Данный механизм непрямую не связан с разделением кода, тем не менее мы о нем упомянем, как о существенной вехе в развитии механизмов разделения кода.
Прерывания
Первой попыткой решения проблемы распределения кода был механизм программных прерываний, который позволял создавать (размещать в микрокоде BIOS) и вызывать сервисы, доступные любым операционным системам и программам. Таблица прерываний включала 255 векторов (адресов), каждый из которых задавал процедуру обслуживания определенного прерывания. Данный сервис мог лешгко программироваться пользователями, то есть любая программа могла [пере]назначить одно из доступных программных прерываний, предоставив, таким образом, общесистемный сервис. И не смотря на все положительные стороны подобного подхода, он имел и ряд серьёзных недостатков:
Динамические библиотеки
Дальнейшее развитие данной концепции (а так же развитие ОС) привело к появлению динамически загружаемых библиотек (называемых упрощенно динамическими библиотеками, DLL). Отличительной особенностью было то, что обращение к функционалу этих библиотек могло осуществляться из кода на любых языках и из любых средств разработки [в рамках операционной системы]. На механизме динамических библиотек построен весь программный интерфейс (WinAPI) операционных систем Mirosoft Windows, поэтому любое API, любой сервис, так или иначе базируются на DLL. Характерная особенность динамической библиотеки заключается в том, что она может использоваться сразу несколькими приложениями, а система обеспечивает присутствие в памяти всего-лишь одного экземпляра [кода] динамической библиотеки для всех приложений, которые содержат ссылки на функции данной библиотеки. DLL имели ряд выраженных недостатков:
Компонентная объектная модель (COM)
Следующим этапом развития концепции разделяемого кода стало появление компонентной объектной модели (COM, Component Object Model). COM обеспечивал возможность разделять код на отдельные независимые компоненты, которые (в отличие от предыдущих реализаций) подключались уже не по имени файла, а при помощи специального глобального идентификатора (GUID). GUID ни что иное как 128-битный глобальный идентификатор (GUID, Global Unique ID), идентифицирующий конкретный объект класса библиотеки. Каждый компонент определялся [глобально] собственным уникальным идентификатором, и в системе хранилась единая база информации по компонентам, в которой содержалась вся информация: начиная от имени файла, в котором расположен сам компонент, и заканчивая сетевыми настройками. База COM хранится в реестре, в разделе HKEY_CLASSES_ROOT :
Причем сам HKEY_CLASSES_ROOT представляет собой комбинацию разделов HKCU\Software\Classes (для текущего пользователя) и HKLM\Software\Classes (для машины в целом).
Примером значения CLSID может служить строка вида <2DB47AE5-CF39-43C2-B4D6-0CD8D90946F4>. В глобальном смысле данные уникальные номера «не повторяются» и уникально идентифицируют компоненты системы, что говорит нам об уникальности объекта класса библиотеки в пределах системы. Подразделами в этих ветках реестра могут быть:









