Mensagem de erro quando um aplicativo chama o API RegisterTypeLib para registrar uma biblioteca de tipos no Windows Vista: "Acesso negado"

Traduções deste artigo Traduções deste artigo
ID do artigo: 935200 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Considere o seguinte cenário. Em um aplicativo que está sendo executado em um computador baseado no Windows Vista, você tentar mapear a subárvore do Registro
HKEY_CLASSES_ROOT
para outro subárvore do Registro. Por exemplo, você pode tentar mapear a subárvore do Registro
HKEY_CLASSES_ROOT
para a subárvore de registro
HKEY_CURRENT_USER
. Quando o aplicativo chama RegisterTypeLib API para registrar uma biblioteca de tipos, você receberá a seguinte mensagem de erro:
Acesso negado
Além disso, RegisterTypeLib API retorna o valor TYPE_E_REGISTRYACCESS (0x8002801c).

Esse problema ocorre se o UAC (controle de conta de usuário) estiver ativada e o aplicativo está em execução com a conta de usuário limitado.

Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Windows Vista. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
935791Como obter o service pack mais recente do Windows Vista

Informações sobre o hotfix

Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibida, contate o atendimento e suporte para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site:
http://support.microsoft.com/contactus/?ws=support
Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.Depois de instalar esse hotfix, você deve habilitar o hotfix. Consulte a seção "Habilitar o hotfix" para obter mais informações.

Pré-requisitos

Você deve ter instalado para aplicar esse hotfix do Windows Vista.

Requisitos de reinicialização

Reinicie o computador após aplicar esse hotfix.

Informações sobre a substituição do hotfix

Esse hotfix não substitui outros hotfixes.

Informações sobre o arquivo

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário no item Data e hora no painel de controle.
Windows Vista, versões com base em 86 x
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
X86_4bbe5d294834975fb80c47470752adb1_31bf3856ad364e35_6.0.6000.20604_none_dea9a3d5aecfc0a3.manifestNão aplicável70223 De maio de 200719: 26Não aplicável
X86_microsoft-janelas ole automation_31bf3856ad364e35_6.0.6000.20604_none_bba787f5176daa36.manifestNão aplicável88,60923 De maio de 200719: 28Não aplicável
Oleaut32.dll6.0.6000.20604558,59223 De maio de 200704: 43x 86
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
X86_4bbe5d294834975fb80c47470752adb1_31bf3856ad364e35_6.0.6000.20604_none_dea9a3d5aecfc0a3.manifestNão aplicável70223 De maio de 200719: 26Não aplicável
X86_microsoft-janelas ole automation_31bf3856ad364e35_6.0.6000.20604_none_bba787f5176daa36.manifestNão aplicável88,60923 De maio de 200719: 28Não aplicável
Oleaut32.dll6.0.6000.20604558,59223 De maio de 200704: 43x 86
Update.mumNão aplicável2,00123 De maio de 200719: 26Não aplicável
Versões de 64 bits do Windows Vista
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Amd64_4a6574fa45a2d59d7249caa900399476_31bf3856ad364e35_6.0.6000.20604_none_cd312e3fb1af0597.manifestNão aplicável70623 De maio de 200719: 26Não aplicável
Amd64_65563c6fd47be510b29634938ca65f92_31bf3856ad364e35_6.0.6000.20604_none_21b539ccf0659813.manifestNão aplicável70623 De maio de 200719: 26Não aplicável
Amd64_microsoft-janelas ole automation_31bf3856ad364e35_6.0.6000.20604_none_17c62378cfcb1b6c.manifestNão aplicável86,22723 De maio de 200719: 33Não aplicável
Package_1_for_kb935200 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.1.0.mumNão aplicável1,79523 De maio de 200719: 26Não aplicável
Package_2_for_kb935200 ~ 31bf3856ad364e35 ~ amd64 ~ ~ 6.0.1.0.mumNão aplicável2,01223 De maio de 200719: 26Não aplicável
Update.mumNão aplicável1,90923 De maio de 200719: 26Não aplicável
Wow64_microsoft-janelas ole automation_31bf3856ad364e35_6.0.6000.20604_none_221acdcb042bdd67.manifestNão aplicável86,47523 De maio de 200719: 33Não aplicável
Oleaut32.dll6.0.6000.20604867,84023 De maio de 200705: 54x 64
Oleaut32.dll6.0.6000.20604558,59223 De maio de 200704: 43x 86

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no Windows Vista Service Pack 1.

Mais Informações

Habilitar o hotfix

Depois de instalar esse hotfix, você deve usar um dos seguintes métodos para habilitar o hotfix.

Método 1

Esse hotfix adiciona uma nova API. Antes do aplicativo chama o API RegisterTypeLib , o aplicativo pode chamar a função OaEnablePerUserTLibRegistration void para habilitar o RegisterTypeLIb API usar o mapeamento de substituição apropriado. A função OaEnablePerUserTLibRegistration é exportada do arquivo Oleaut32.dll. Você deve referenciar este arquivo usando vinculação dinâmica do tempo de execução e usando a função de GetProcAddress . Para obter mais informações sobre a função de GetProcAddress e sobre a vinculação dinâmica do tempo de execução, visite o seguinte site:
http://msdn2.microsoft.com/en-us/library/ms686944.aspx

Método 2

Depois de instalar o hotfix, RegisterTypeLib API verificará a variável de ambiente OAPERUSERTLIBREG . Se o valor da variável OAPERUSERTLIBREG for 1, RegisterTypeLIb API usará o mapeamento de substituição apropriado. Como essa variável de ambiente é lida durante a inicialização da função DLLMain , você deve definir esta variável de ambiente antes de executar o aplicativo. Para fazer isso, execute um dos seguintes comandos em um prompt de comando:
  • Definir OAPERUSERTLIBREG = 1
  • Iniciar o cmd.exe /c "Definir OAPERUSERTLIBREG = 1 &&MyApp.exe "

    Observação O espaço reservado MyApp.exe aponta para o aplicativo que você deseja executar.
Observação O primeiro comando apenas define a variável de ambiente. O segundo comando define a variável de ambiente e, em seguida, executa o aplicativo. Se você usar o primeiro comando, você também deve executar o aplicativo este prompt de comando.
Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Referências

Para obter mais informações sobre a subárvore do Registro
HKEY_CLASSES_ROOT
, visite o seguinte site:
http://msdn2.microsoft.com/en-us/library/ms724475.aspx
Para obter mais informações sobre RegisterTypeLib API, visite o seguinte site:
http://msdn2.microsoft.com/en-us/library/ms221570(vs.71).aspx

Propriedades

ID do artigo: 935200 - Última revisão: quarta-feira, 21 de maio de 2008 - Revisão: 4.3
A informação contida neste artigo aplica-se a:
  • Microsoft COM+ 1.5 nas seguintes plataformas
    • Windows Vista Enterprise
    • Windows Vista Enterprise 64-bit edition
    • Windows Vista Ultimate
    • Windows Vista Ultimate 64-bit edition
    • Windows Vista Business
    • Windows Vista Business 64-bit edition
    • Windows Vista Home Premium
    • Windows Vista Home Premium 64-bit edition
    • Windows Vista Home Basic
    • Windows Vista Home Basic 64-bit edition
Palavras-chave: 
kbmt kbautohotfix kbvistasp1fix kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB935200 KbMtpt
Traduçã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: 935200

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com