Pages

O Evento de Erro 10016 de Origem DistributedCOM, é no mínimo irritante. Já vi servidores instalados absolutamente do zero, sem nenhum software ou serviço com o log de Eventos inundado deste erro. A mensagem é basicamente assim:

Esta pode aparecer tanto no Windows 2003 como no 2008.

The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID
{24FF4FDC-1D9F-4195-8C79-0DA39248FF48
to the user NT AUTHORITY\SYSTEM SID (S-1-5-18) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool

No Windows 2008 R2 a Microsoft foi benevolente em informar também o APPID, que já minimiza um pouco do trabalho. No 2008 R2, a mensagem fica parecida com esta:

The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID
{24FF4FDC-1D9F-4195-8C79-0DA39248FF48}
and APPID
{B292921D-AF50-400C-9B75-0C57A7F29BA1}
to the user NT AUTHORITY\SYSTEM SID (S-1-5-18) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.
 
Vamos tentar resolver este erro. O primeiro ponto é descobrir o APPID da aplicação que está dando erro. Se você usar o 2008 R2, o APPID já está no evento portanto, pule os 3 passos abaixo e vá para o próximo parágrafo, se você não usa, faça o seguinte:
 
1 - Execute o regedit
2 - Navegue para HKCR\CLSID\{24FF4FDC...} ou a chave que aparece no seu evento:
3 - Ao selecionar a chave, no painel da esquerda vc vai ver o valor, o AppID. Este é o seu AppID.
 
Agora que você já tem o APPID, o certo seria abrir o dcomcnfg e dar a permissão que você precisa. Mas no 2008 e no 2008 R2, se vc tentar fazer isso, toda a tela de edição da segurança estará desabilitada. Um administrador, por padrão não tem privilégio para mudar esta permissão. Alías, só quem teria este acesso é o usuário TrustedInstaller. Portanto, faça o seguinte:
 
1 - Execute o regedit
2 - Navegue para HKLM\SOFTWARE\Classes\AppID\{B292921D...} O seu AppID vai aqui
3 - Clique com o botão da direita na chave do AppID, vá em Permissions
4 - Clique em Avançado, vá para a página Owner
5 - Selecione o Grupo "Administrators", marque a caixa "Replace owner on subcontainers and objects"
6 - Clique em Appy e depois em OK
7 - Marque o privilégio de Full Control para o grupo Administrators
8 - Clique em Apply e depois em OK
 
Pronto, agora é só dar a permissão no dcomcnfg:
 
1 - Execute dcomcnfg;
2 - Navegue para Component Services\computers\My Computer\DCOM Config
3 - Ao selecionar DCOM Config, à esquerda vai aparecer todos os objetos de DCOM
4 - Mande exibir os objetos em formato de Detalhes, para aparecer o nome e o AppID
5 - Localize o seu AppID
6 - Xingue a vontade por não ter opção de pesquisa ou para ordenar por AppID. Vc tem que localizar no olho mesmo;
7 - O AppID que eu usei no meu exemplo é muito comum de dar erro. Para facilitar sua vida, o {B292921D-AF50-400c-9B75-0C57A7F29BA1} refere-se ao NAP Agent Service;
8 - Clique com o botão da direita no objeto correto, veja propriedades e vá para a página de segurança;
9 - Teoricamente, agora você deve conseguir editar as permissões.
10 - Para cada permissão, selecione "Customize" e edite as permissões conforme necessário. Se a reclamação do evento é para o usuário SYSTEM, dê o privilégio de Launch e Activation, local e remoto, aplique e os erros devem parar.
 
Boa Sorte

2 Responses so far.

  1. E se voce faz tudo isso e continua sem poder editar a permissao "Teoricamente, agora você deve conseguir editar as permissões. " infelizmente nao é possivel.

  2. Me manda um e-mail com a descrição do evento que apareceu para você. Deixa eu ver se o CLSID específico ou a APPID tem alguma particularidade que eu possa ajudar.

Postar um comentário