Зарегистрируйте и отмените регистрацию библиотек DLL с помощью контекстного меню, вызываемого правой кнопкой мыши

В этом посте рассказывается, как добавлять команды регистрации и отмены регистрации в контекстное меню для файлов DLL и OCX в Windows Vista, 7, 8 и 10.

Чтобы зарегистрировать файл DLL или OCX, вам обычно нужно запустить regsvr32.exe из командной строки с повышенными привилегиями. Регистрация системных DLL из невыполненного состояния может вызвать ошибку. Например, попробуйте зарегистрировать системный модуль JScript.dll из поля «Пуск», «Поиск» (т.е. без его повышения). При этом вы увидите ошибку 0x80004005 или 0x80007005 («ДОСТУП ОТКЛОНЕН»).

regsvr32 ошибка 0x80004005

Способ 1: зарегистрировать библиотеки DLL через контекстное меню — глагол «runas»

Чтобы добавить команду «Регистрация» в контекстное меню, которое запустит Regsvr32.exe Команда под повышенными правами, вы можете использовать специальный глагол runas. Вот REG-файл, который я создал, добавляет глагол runas для типов файлов DLL и OCX в следующих разделах реестра:

HKEY_CLASSES_ROOT\dllfile\runas
HKEY_CLASSES_ROOT\ocxfile\runas
  1. Скачать файл register_runas.reg и сохранить на рабочий стол.
  2. Щелкните правой кнопкой мыши файл и выберите «Объединить».
  3. Нажмите Да, когда вас попросят подтвердить.

Теперь вы должны увидеть команду Register (as Administrator) в контекстном меню для типов файлов DLL и OCX.

зарегистрировать dll контекстного меню regsvr32

Способ 2: Установите Regsvr32.exe, чтобы всегда работать с повышенными правами

Поскольку вы можете использовать глагол «runas» только для одного элемента, чтобы добавить команду «Unregister», вам нужно использовать метод, отличный от описанного выше. Вот еще один способ добавить команды «Зарегистрировать» и «Отменить регистрацию» в контекстное меню для файлов DLL без использования глагола «runas».

Этот метод указывает системе всегда запускать Regsvr32.exe с повышенными правами, добавляя AppCompatFlags\Layers запись реестра и реализует записи контекстного меню «Зарегистрировать» и «Отменить регистрацию» обычным способом.

REG-файл

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\regsvr32.exe"="~ RUNASADMIN"
[HKEY_CLASSES_ROOT\DllFile\Shell\Register]
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\DllFile\Shell\Register\command]
@="C:\\Windows\\System32\\regsvr32.exe \"%1\""
[HKEY_CLASSES_ROOT\DllFile\Shell\Unregister]
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\DllFile\Shell\Unregister\command]
@="C:\\Windows\\System32\\regsvr32.exe -u \"%1\""
[HKEY_CLASSES_ROOT\OcxFile\Shell\Register]
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\OcxFile\Shell\Register\command]
@="C:\\Windows\\System32\\regsvr32.exe \"%1\""
[HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister]
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister\command]
@="C:\\Windows\\System32\\regsvr32.exe -u \"%1\""

Скопируйте вышеуказанные строки в Блокнот и сохраните файл с расширением .reg. Дважды щелкните, чтобы запустить файл .reg. Это добавляет команды «Зарегистрироваться» и «Отменить регистрацию» в контекстное меню для файлов DLL и OCX.

зарегистрировать dll контекстного меню regsvr32

Чтобы удалить (отменить) команды Register и Unregister из контекстного меню, используйте следующий файл .reg:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Windows\\System32\\regsvr32.exe"=-
[-HKEY_CLASSES_ROOT\DllFile\Shell\Register]
[-HKEY_CLASSES_ROOT\DllFile\Shell\Unregister]
[-HKEY_CLASSES_ROOT\OcxFile\Shell\Register]
[-HKEY_CLASSES_ROOT\OcxFile\Shell\Unregister]

Это оно!

Ссылка на основную публикацию
Adblock
detector