Реєстрація та скасування реєстрації DLL-файлів підвищено за допомогою контекстного меню правою кнопкою миші

У цій публікації розповідається, як додати команди реєстрації та скасування реєстрації в меню правою кнопкою миші для файлів DLL та OCX у Windows Vista, 7, 8 та 10.

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

Помилка regsvr32 0x80004005

Спосіб 1: Реєстрація DLL через контекстне меню – дієслово «runas».

Щоб додати Реєстрація команду в контекстному меню, яке запускає Regsvr32.exe команду під підвищеними правами, можна використовувати спец руни дієслово. Ось створений мною файл REG, який додає дієслово runas для типів файлів DLL і OCX в наступні розділи реєстру:

HKEY_CLASSES_ROOT\dllfile\runas. HKEY_CLASSES_ROOT\ocxfile\runas
  1. Завантажте файл register_runas.reg і збережіть на робочому столі.
  2. Клацніть правою кнопкою миші файл і виберіть «Об’єднати».
  3. Натисніть Так коли вас попросять підтвердження.

Тепер ви повинні побачити Зареєструватися (як адміністратор) команду в меню правою кнопкою миші для типів файлів DLL і OCX.

зареєструвати контекстне меню dll regsvr32

Спосіб 2. Налаштуйте Regsvr32.exe так, щоб він завжди запускався з підвищеними правами

Оскільки ви можете використовувати дієслово «runas» лише для одного елемента, щоб додати команду «Скасувати реєстрацію», вам потрібно використовувати інший метод, ніж наведений вище. Ось ще один спосіб додати команди «Реєстрація» та «Скасувати реєстрацію» до контекстного меню для файлів DLL без використання дієслова «runas».

Цей метод інструктує системі завжди запускати Regsvr32.exe з підвищеними вимогами, додаючи a AppCompatFlags\Layers запис реєстру та реалізує пункти контекстного меню «Реєстрація» та «Скасувати реєстрацію» звичайним способом.

Файл REG

Редактор реєстру Windows версії 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\Скасувати реєстрацію] "HasLUAShield"="" [HKEY_CLASSES_ROOT\DllFile\Shell\Скасувати реєстрацію\команду] @="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\Скасувати реєстрацію] "HasLUAShield"="" [HKEY_CLASSES_ROOT\OcxFile\Shell\Скасувати реєстрацію\команду] @="C:\\Windows\\System32\\regsvr32.exe -u \"%1\""

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

зареєструвати контекстне меню dll regsvr32

Щоб видалити (скасувати) команди «Реєстрація» та «Скасувати реєстрацію» з контекстного меню, скористайтеся таким файлом .reg:

Редактор реєстру Windows версії 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\Скасувати реєстрацію] [-HKEY_CLASSES_ROOT\OcxFile\Shell\Register] [-HKEY_CLASSES_ROOT\OcxFile\Shell\Скасувати реєстрацію]

Це воно!


Одне невелике прохання: якщо вам сподобався цей пост, поділіться ним?

Одна ваша "крихітна" публікація серйозно допомогла б у розвитку цього блогу. Кілька чудових пропозицій:
  • Закріпіть!
  • Поділіться ним у своєму улюбленому блозі + Facebook, Reddit
  • Твіттер!
Тож дуже дякую за підтримку, мій читачу. Це займе не більше 10 секунд вашого часу. Кнопки спільного доступу знаходяться прямо нижче. :)