Mensagem de erro quando uma aplicação chama a API RegisterTypeLib para registar uma biblioteca de tipos no Windows Vista: "Acesso negado"

Traduções de Artigos Traduções de Artigos
Artigo: 935200 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Considere o seguinte cenário. Numa aplicação que está em execução um computador baseado no Windows Vista, o utilizador tenta mapear subárvore de registo
HKEY_CLASSES_ROOT
para outro subárvore de registo. Por exemplo, tenta mapear subárvore de registo
HKEY_CLASSES_ROOT
à subárvore de registo
HKEY_CURRENT_USER
. Quando a aplicação chamar RegisterTypeLib API para registar uma biblioteca de tipos, poderá receber a seguinte mensagem de erro:
Acesso negado
Além disso, RegisterTypeLib API devolve o valor TYPE_E_REGISTRYACCESS (0x8002801c).

Este problema ocorre se controlo de conta de utilizador (UAC) estiver activada e a aplicação está a ser executado a conta de utilizador limitada.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Windows Vista. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
935791Como obter o Windows Vista service pack mais recente

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.Depois de instalar esta correcção, tem de activar a correcção. Consulte a secção "Activar a correcção" para obter mais informações.

Pré-requisitos

Tem de ter instalado para aplicar esta correcção do Windows Vista.

Requisito de reinício

Tem de reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item data e hora no painel de controlo.
Windows Vista, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
X86_4bbe5d294834975fb80c47470752adb1_31bf3856ad364e35_6.0.6000.20604_none_dea9a3d5aecfc0a3.manifestNão aplicável70223 De Maio de 200719: 26Não aplicável
X86_microsoft-windows-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
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
X86_4bbe5d294834975fb80c47470752adb1_31bf3856ad364e35_6.0.6000.20604_none_dea9a3d5aecfc0a3.manifestNão aplicável70223 De Maio de 200719: 26Não aplicável
X86_microsoft-windows-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
Windows Vista, versões de 64 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
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-windows-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-windows-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

Ponto Da Situação

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

Mais Informação

Activar a correcção

Depois de instalar esta correcção, tem de utilizar um dos seguintes métodos para activar a correcção.

Método 1

Esta correcção adiciona uma nova API. Antes da aplicação chamar a API RegisterTypeLib , a aplicação pode invocar a função OaEnablePerUserTLibRegistration nula para activar o RegisterTypeLIb API utilizar o mapeamento de substituição apropriada. A função OaEnablePerUserTLibRegistration é exportada a partir do ficheiro Oleaut32.dll. Este ficheiro tem de referenciar utilizando a ligação dinâmica Run-Time e utilizando a função GetProcAddress . Para mais informações sobre a função GetProcAddress e sobre ligação dinâmica Run-Time, visite o seguinte Web site da Microsoft:
http://msdn2.microsoft.com/en-us/library/ms686944.aspx

Método 2

Depois de instalar a correcção, RegisterTypeLib API verificará a variável de ambiente OAPERUSERTLIBREG . Se o valor da variável OAPERUSERTLIBREG for 1, RegisterTypeLIb API utilizará o mapeamento de substituição apropriada. Uma vez que esta variável de ambiente é lido durante a inicialização da função DLLMain , tem de definir esta variável de ambiente antes de executar a aplicação. Para efectuar este procedimento, execute um dos seguintes comandos numa linha de comandos:
  • Definir OAPERUSERTLIBREG = 1
  • Iniciar cmd.exe /c "Definir OAPERUSERTLIBREG = 1 &&MyApp.exe "

    Nota O marcador de posição do MyApp.exe aponta para a aplicação que pretende executar.
Nota Só o primeiro comando define a variável de ambiente. O segundo comando define a variável de ambiente e, em seguida, executa a aplicação. Se utilizar o primeiro comando, deve também executar a aplicação desta linha de comandos.
Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Referências

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

Propriedades

Artigo: 935200 - Última revisão: 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 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: 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