ID do artigo: 269383 - Última revisão: quinta-feira, 25 de março de 2004 - Revisão: 2.0

PROBLEMA: 'Erro ao acessar o registro do sistema' mensagem ao exibir 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 | Recolher tudo

Sintomas

Quando você acessa a caixa de diálogo referências no ambiente de desenvolvimento integrado do Visual Basic (IDE) ou qualquer Visual Basic for Applications (VBA) ativado, você receber o seguinte erro:
Erro ao acessar o registro do sistema
Além disso, quando você acessa de REGEDT32.exe, algumas chaves do Registro são esmaecidas e inacessível. Por exemplo:
HKEY_CLASS_ROOT\TypeLib\{...}
				
incluem outros problemas que você pode encontrar com essas chaves do Registro:
  • Não é possível excluir essas chaves, nem mesmo da conta de administrador local.
  • Não é possível atribuir ou exibir permissões.
  • Não é possível apropriar-se das chaves.

Causa

A causa desse problema é uma instalação do Crystal Reports 8.0.0.371 completo/limpeza.

Business Objects tem documentado esse problema com o Crystal Reports 8.0.0.371 no seu próprio artigo do 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 objetos corporativos, esse problema não ocorre com o Crystal Reports 8.0.0.441 ou superior.

Resolução

Aviso : se você usar o Editor do Registro incorretamente, poderá causar problemas sérios que talvez exijam a reinstalação do sistema operacional. A Microsoft não garante que você pode resolver problemas resultantes do uso incorreto do Editor do Registro. Use o Editor do registro por sua própria conta e risco.

HKEY_CLASSES_ROOT é dinâmica e baseia-se em inicialização. A chave HKEY_LOCAL_MACHINE\Software\Classes é lido na memória e está acessível como HKEY_CLASSES_ROOT. Se você adicionar uma chave para HKLM\Software\Classes, ele é replicado imediatamente para HKCR.

Etapas para corrigir esse problema

Primeiro você precisa descobrir qual chave do registro ou as chaves são afetadas. Isso pode ser feito de duas maneiras:
  1. Use REGEDT32.exe para verificar as chaves que estão esmaecidas no HKEY_CLASSES_ROOT\TypeLib e HKEY_CLASSES_ROOT\CLSID.
  2. Use o utilitário RegMon de www.sysinternals.com. Execute os processos de filtragem para o Visual Basic e, em seguida, tente acessar a caixa de diálogo referências no Visual Basic. Quando o erro ocorre, alterne para o RegMon e tome nota das chaves últimos que foram lidos ou gravados com êxito. (Esses devem ser de HKEY_CLASSES_ROOT\TypeLib ou HKEY_CLASSES_ROOT\CLSID.)
Em seguida, você pode corrigir o problema de permissão das seguintes maneiras:
  1. Carregar Regedt32 e localize as chaves que estão esmaecidas da etapa 1 anterior, ou as teclas que você anotou na etapa 2. (Observação: se você usou a etapa 2, uma vez que você localize a chave, examinar a chave ou subchave imediatamente a seguir no registro. Se você não tiver as permissões apropriadas para acessar a chave, ele seria não mesmo fez através do utilitário RegMon e, assim, a entrada que você anotou na etapa 2 será o último bem-sucedido leitura-gravação. Portanto, aquele que seguido ele causou o erro ocorra.
  2. No menu segurança , forneça as permissões apropriadas para a chave para que você e o Visual Basic, podem acessá-lo:
    • Administradores - controle total
    • Todos - leitura
    • Sistema - completo
    • Os usuários - leitura
    • Modifique a lista usuário ao conjunto de suas necessidades.

  3. Às vezes Regedt32 não é capaz de acessar a chave e oferece um erro informando que as informações de conta de segurança não podem ser recuperadas ou encontradas. Você pode corrigir isso das seguintes maneiras:
    1. No Painel de controle , clique duas vezes o ícone serviços .
    2. Verifique se o Agendador de tarefas está sendo executado e iniciá-lo se não estiver.
    3. Abra um prompt de comando. (Prompt do DOS) (Observação: diz que a legenda da janela Prompt de comando .)
    4. Digite o seguinte comando para agendar um novo prompt de comando: AT 13: 10/Interactive cmd.exe

    5. Alterar 13: 10 para qualquer hora que você deseja que o cmd.exe (prompt de comando) para executar: por exemplo, um ou dois minutos do seu horário atual.
    6. Aguarde até que esse novo prompt de comando é iniciado. (Observação: A legenda da janela é semelhante ao C:\Winnt\System32\MSTask.exe.) Se o prompt de comando não for iniciado, consulte base de dados de Conhecimento artigo 193852  (http://support.microsoft.com/kb/193852/EN-US/ ) "Tarefa Agendador pode falhar para executar trabalho ao agendadas"

      Porque o Agendador de tarefas está sendo executado sob a conta do sistema, é criado novo prompt de comando executando sob o contexto de segurança de sistema.
    7. No novo prompt de comando, digite o seguinte e, em seguida, pressione enter: Regedt32.exe como iniciar esse processo partir do prompt de comando SYSTEM, Regedt32 também está executando no contexto de segurança de sistema.
    8. Repita a etapa anterior 2 e, em seguida, redefinir as permissões.

Referências

Para obter informações adicionais sobre problemas de registro causado pela instalação Crystal Reports 8.0.0.371, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
268553  (http://support.microsoft.com/kb/268553/EN-US/ ) PROBLEMA: Problemas de instalação Visual Studio se Crystal Reports 8 está instalada
259569  (http://support.microsoft.com/kb/259569/EN-US/ ) PROBLEMA: Instalando produtos de terceiros quebras Win2000 MDAC Registry Settings
Para obter informações adicionais sobre um possível problema com o Agendador de tarefas, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
193852  (http://support.microsoft.com/kb/193852/EN-US/ ) O Agendador de tarefas pode falhar executar o trabalho quando agendada

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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/ )