Registrar e cancelar o registro de DLLs elevados via menu de contexto do botão direito

Esta postagem explica como adicionar comandos de registro e cancelamento de registro ao menu do botão direito para arquivos DLL e OCX no Windows Vista, 7, 8 e 10.

Para registrar um arquivo DLL ou OCX, geralmente você precisa executar regsvr32.exe a partir de um elevado Prompt de comando. O registro de DLLs do sistema a partir de um estado não elevado pode causar um erro. Por exemplo, tente registrar o módulo do sistema JScript.dll desde o início, caixa de pesquisa (ou seja, sem elevá-la). Você verá o erro 0x80004005 ou 0x80007005 (“O ACESSO É NEGADO”) quando você faz isso.

erro regsvr32 0x80004005

Método 1: registrar DLLs por meio do menu de contexto - verbo "runas"

Para adicionar o Registro comando no menu de contexto que irá executar o Regsvr32.exe comando sob direitos elevados, você pode usar o correr como verbo. Aqui está um arquivo REG que criei, adiciona o verbo runas para os tipos de arquivo DLL e OCX nas seguintes chaves de registro:

HKEY_CLASSES_ROOT \ dllfile \ runas. HKEY_CLASSES_ROOT \ ocxfile \ runas
  1. Baixe o arquivo register_runas.reg e salve na área de trabalho.
  2. Clique com o botão direito no arquivo e escolha Mesclar.
  3. Clique sim quando for solicitada sua confirmação.

Agora você deve ver o Cadastre-se (como administrador) no menu do botão direito para os tipos de arquivo DLL e OCX.

registrar o menu de contexto dll regsvr32

Método 2: defina o Regsvr32.exe para sempre ser executado com privilégios elevados

Como você pode usar o verbo “runas” para apenas um item, para adicionar um comando “Cancelar registro” você precisa usar um método diferente do acima. Esta é outra maneira de adicionar os comandos “Registrar” e “Cancelar registro” ao menu de contexto para arquivos DLL, sem usar o verbo “runas”.

Este método instrui o sistema a sempre executar o Regsvr32.exe elevado, adicionando um AppCompatFlags \ Layers entrada do registro e implementa as entradas do menu de contexto “Registrar” e “Cancelar registro” da maneira usual.

Arquivo REG

Editor de registro do Windows versão 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 as linhas acima para o Bloco de notas e salve o arquivo com a extensão .reg. Clique duas vezes para execute o arquivo .reg. Isso adiciona os comandos “Registrar” e “Cancelar registro” ao menu de contexto para arquivos DLL e OCX.

registrar o menu de contexto dll regsvr32

Para remover (desfazer) os comandos Registrar e Cancelar Registro do menu de contexto, use o seguinte arquivo .reg:

Editor de registro do Windows versão 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]

É isso!


Um pequeno pedido: Se você gostou deste post, por favor, compartilhe?

Um "minúsculo" compartilhamento seu ajudaria seriamente no crescimento deste blog. Algumas ótimas sugestões:
  • Fixá-lo!
  • Compartilhe com seu blog favorito + Facebook, Reddit
  • Tweet isso!
Muito obrigado pelo seu apoio, meu leitor. Não vai demorar mais de 10 segundos do seu tempo. Os botões de compartilhamento estão logo abaixo. :)