Artigo: 269383 - Última revisão: quinta-feira, 25 de Março de 2004 - Revisão: 2.0

PROBLEMA: A mensagem 'Erro ao aceder ao registo do sistema' quando visualizar referências VB/VBA

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando acede a caixa de diálogo referências no Visual Basic integrated development environment (IDE) ou qualquer aplicação Visual Basic for Applications (VBA) activado, receberá o erro seguinte:
Erro ao aceder ao registo do sistema
Além disso, quando aceder a partir de REGEDT32.exe, algumas chaves de registo são desactivadas e inacessível. Por exemplo:
HKEY_CLASS_ROOT\TypeLib\{...}
				
outros problemas que poderão ocorrer com estas chaves de registo incluem:
  • Não pode eliminar estas chaves, nem mesmo da conta de administrador local.
  • Não é possível atribuir ou visualizar permissões.
  • Não é possível obter propriedade das chaves.

Causa

A causa deste problema é um inteiro/limpar instalação do Crystal Reports 8.0.0.371.

Objectos de negócio tem documentados este problema com o Crystal Reports 8.0.0.371 no seu próprio artigo da Knowledge Base:
'Error Accessing the System Registry' message after installing Crystal Reports 8 (http://support.businessobjects.com/library/kbase/articles/c2008211.asp)
Acordo com a Business Objects, este problema já não ocorre com o Crystal Reports 8.0.0.441 ou superior.

Resolução

aviso : a utilização incorrecta do Editor de registo poderá provocar problemas graves que poderão forçar a reinstalação do sistema operativo. Microsoft não garante que os problemas resultantes da utilização incorrecta do Editor de registo possam ser resolvidos. As suas próprias risco da utilização do Editor de registo.

HKEY_CLASSES_ROOT é dinâmico e baseia-se no arranque. A chave HKEY_LOCAL_MACHINE\Software\Classes lidas para a memória e está acessível como HKEY_CLASSES_ROOT. Se adicionar uma chave HKLM\Software\Classes, é imediatamente replicada para HKCR.

Passos para corrigir este problema

Primeiro terá de saber quais chave de registo ou as teclas afectadas. Pode fazê-lo de duas formas:
  1. Utilize REGEDT32.exe para pesquisar as chaves esbatidas na HKEY_CLASSES_ROOT\TypeLib e HKEY_CLASSES_ROOT\CLSID.
  2. Utilize o utilitário RegMon do www.sysinternals.com. Execute os processos de filtragem para o Visual Basic e, em seguida, tente aceder à caixa de diálogo referências no Visual Basic. Quando ocorre o erro, mude para RegMon e tome nota das chaves últimos que foram lidos ou escritos com êxito. (Estes devem ser HKEY_CLASSES_ROOT\TypeLib ou HKEY_CLASSES_ROOT\CLSID.)
Em seguida, é possível corrigir o problema de permissões da seguinte forma:
  1. Carregar o Regedt32 e localize as teclas estão desactivadas no passo anterior 1 ou as teclas que anotou do passo 2. (Nota: Se tiver utilizado o passo 2, depois de localizar a chave, observe a chave ou subchave imediatamente a seguir no registo. Se não tiver as permissões adequadas para aceder à chave, seria não mesmo iniciou através do utilitário RegMon e, como tal, a entrada que anotou no passo 2 será o último bem sucedido leitura/escrita. Por conseguinte, aquele que seguinte causou o erro ocorra.
  2. No menu segurança , fornecer as permissões adequadas para a chave para que e Visual Basic, podem aceder:
    • Administradores - controlo total
    • Todos - Ler
    • Sistema - total
    • Os utilizadores - ler
    • Modificar a lista utilizador conjunto as suas necessidades.

  3. Por vezes Regedt32 não é possível aceder à chave e fornece um erro indicando que as informações de conta de segurança não podem ser obtidas ou encontradas. Para corrigir este problema das seguintes formas:
    1. No Painel de controlo , faça duplo clique no ícone Serviços .
    2. Verifique se o Programador de tarefas está em execução e iniciá-lo se não for.
    3. Abra uma linha de comandos. (Linha de comandos do DOS) (Nota: A legenda da janela indica a linha de comandos .)
    4. Escreva o seguinte comando para agendar uma nova linha de comandos: AT 13: 10/Interactive cmd.exe

    5. Alterar 13: 10 para o tempo pretendido cmd.exe (linha de comandos) para executar: por exemplo, um ou dois minutos de tempo actual.
    6. Aguarde até que esta linha de comandos nova é iniciado. (Nota: A legenda da janela é semelhante a C:\Winnt\System32\MSTask.exe.) Se a linha de comandos não for iniciado, consulte base de dados de conhecimento da artigo 193852  (http://support.microsoft.com/kb/193852/EN-US/ ) "Tarefas programador pode falha para executar tarefas quando agendadas"

      Porque o Programador de tarefas está em execução sob a conta SYSTEM, a nova linha de comandos é criada em execução no contexto de segurança SYSTEM.
    7. A partir da nova linha de comandos, escreva o seguinte e, em seguida, prima enter: Regedt32.exe uma vez que iniciar este processo a partir da linha de comandos do sistema, Regedt32 também tem em execução no contexto de segurança do sistema.
    8. Repita o passo anterior 2 e, em seguida, reponha as permissões.

Referências

Para obter informações adicionais sobre problemas de registo provocado pela instalação Crystal Reports 8.0.0.371, clique números de artigo existentes abaixo para visualizar os artigos na base de dados de conhecimento da Microsoft:
268553  (http://support.microsoft.com/kb/268553/EN-US/ ) PROBLEMA: Visual Studio instalação problemas se Crystal Reports 8 está instalado
259569  (http://support.microsoft.com/kb/259569/EN-US/ ) PROBLEMA: Instalar definições de quebras de Win2000 MDAC registo do produto de terceiros
Para obter informações adicionais num possível problema com o Programador de tarefas, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
193852  (http://support.microsoft.com/kb/193852/EN-US/ ) O Programador de tarefas pode Falha ao executar a tarefa quando agendadas

A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 5.0 Professional Edition nas seguintes plataformas
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows 2000 Server
  • Microsoft Visual Basic 6.0 Professional Edition nas seguintes plataformas
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows 2000 Server
  • Microsoft Visual Basic 5.0 Enterprise Edition nas seguintes plataformas
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows 2000 Server
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0 nas seguintes plataformas
    • Microsoft Windows NT Server 4.0 Standard Edition
    • Microsoft Windows 2000 Server
Palavras-chave: 
kbmt kb3rdparty kbprb kbregistry KB269383 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 269383  (http://support.microsoft.com/kb/269383/en-us/ )