В этом посте рассказывается, как добавить команды регистрации и отмены регистрации в контекстное меню для файлов DLL и OCX в Windows Vista, 7, 8 и 10.
Чтобы зарегистрировать файл DLL или OCX, обычно требуется запустить regsvr32.exe из возвышенный Командная строка. Регистрация системных библиотек DLL из состояния без повышенных прав может вызвать ошибку. Например, попробуйте зарегистрировать системный модуль JScript.dll из Пуск в поле поиска (т. е. не поднимая его). Вы увидите ошибку 0x80004005 или 0x80007005 («В ДОСТУПЕ ОТКАЗАНО»), когда вы это сделаете.
Метод 1. Зарегистрируйте библиотеки DLL через контекстное меню - глагол runas
Чтобы добавить регистр в контекстном меню, которое запустит Regsvr32.exe под повышенными правами можно воспользоваться специальным беги как глагол. Вот созданный мной REG-файл, который добавляет команду runas для типов файлов DLL и OCX в следующие разделы реестра:
HKEY_CLASSES_ROOT \ dllfile \ runas. HKEY_CLASSES_ROOT \ ocxfile \ runas
- Скачать файл register_runas.reg и сохраните на рабочий стол.
- Щелкните файл правой кнопкой мыши и выберите «Объединить».
- Нажмите да когда вас попросят подтвердить.
Теперь вы должны увидеть Зарегистрируйтесь (как администратор) в контекстном меню для типов файлов DLL и OCX.
Метод 2. Настройте Regsvr32.exe на постоянный запуск с повышенными привилегиями
Поскольку вы можете использовать глагол «runas» только для одного элемента, чтобы добавить команду «Отменить регистрацию», вам нужно использовать другой метод, чем описанный выше. Вот еще один способ добавить команды «Зарегистрироваться» и «Отменить регистрацию» в контекстное меню для файлов DLL без использования команды «runas».
Этот метод указывает системе всегда запускать Regsvr32.exe с повышенными привилегиями, добавляя 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 \ 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.
Чтобы удалить (отменить) команды Register и Unregister из контекстного меню, используйте следующий файл .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 \ Unregister] [-HKEY_CLASSES_ROOT \ OcxFile \ Shell \ Register] [-HKEY_CLASSES_ROOT \ OcxFile \ Shell \ Unregister]
Вот и все!
Одна небольшая просьба: если вам понравился этот пост, поделитесь, пожалуйста, этим?
Одна "крошечная" публикация от вас серьезно помогла бы росту этого блога. Несколько отличных предложений:- Приколи это!
- Поделитесь этим в своем любимом блоге + Facebook, Reddit
- Напишите об этом в Твиттере!