Esta publicación le indica cómo agregar comandos de registro y anulación de registro al menú del botón derecho para archivos DLL y OCX en Windows Vista, 7, 8 y 10.
Para registrar un archivo DLL u OCX, generalmente necesita ejecutar regsvr32.exe desde un símbolo del sistema elevado . El registro de las DLL del sistema desde un estado no elevado puede causar un error. Por ejemplo, intente registrar el módulo del sistema JScript.dll desde Inicio, cuadro de búsqueda (es decir, sin elevarlo). Verá el error 0x80004005 o 0x80007005 ("EL ACCESO SE NEGA") cuando lo haga.
Método 1: registrar archivos DLL a través del menú contextual - verbo "runas"
Para agregar el comando Registrar en el menú contextual que ejecutará el comando Regsvr32.exe con derechos elevados, puede usar el verbo especial runas . Aquí hay un archivo REG que creé, agrega el verbo runas para los tipos de archivo DLL y OCX en las siguientes claves de registro:
HKEY_CLASSES_ROOT \ dllfile \ runas HKEY_CLASSES_ROOT \ ocxfile \ runas
- Descargue el archivo register_runas.reg y guárdelo en el escritorio.
- Haga clic derecho en el archivo y elija Combinar.
- Haga clic en Sí cuando se le solicite confirmación.
Ahora debería ver el comando Registrarse (como administrador) en el menú contextual para los tipos de archivo DLL y OCX.
Método 2: establezca Regsvr32.exe para que siempre se ejecute elevado
Como puede usar el verbo "runas" para un solo elemento, para agregar un comando "Dar de baja" necesita usar un método diferente al anterior. Aquí hay otra forma de agregar comandos "Registrar" y "Anular registro" al menú contextual para archivos DLL, sin usar el verbo "runas".
Este método indica al sistema que siempre ejecute Regsvr32.exe elevado, agregando una entrada de registro AppCompatFlags\Layers
, e implementa las entradas del menú contextual "Registrar" y "Eliminar registro" de la manera habitual.
Archivo REG
Windows Registry Editor Versión 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 \" "
Copie las líneas anteriores en el Bloc de notas y guarde el archivo con la extensión .reg. Haga doble clic para ejecutar el archivo .reg. Esto agrega los comandos "Registrar" y "Eliminar registro" al menú contextual para archivos DLL y OCX.
Para eliminar (deshacer) los comandos Registrar y Anular registro del menú contextual, use el siguiente archivo .reg:
Windows Registry Editor Versión 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]
¡Eso es!