Por que algumas bibliotecas são carregadas apenas sob privilégios de administrador?

1

No Windows, tenho um executável que depende de algumas bibliotecas de terceiros.

Se eu tentar executá-lo em cmd, aparecerão janelas de erro informando que "o programa não pode ser iniciado porque está faltando some_third_party_library.dll"

No entanto, se eu tentar executá-lo sob um cmd com privilégios administrativos, as bibliotecas serão carregadas corretamente e o programa será iniciado.

Procurando nas variáveis do meu sistema, o caminho dessas bibliotecas é colocado dentro das variáveis% Path% e até mesmo dentro da variável% Path% do usuário. Eu verifiquei com echo %Path%

No começo, eu achei que estava relacionado a algum motivo de permissão, então eu trago controle total a todos os usuários, mas isso não funcionou.

Então, por que eu preciso executar esse programa a partir do console com privilégios administrativos?

    
por Manuel Jesus Rodriguez 26.04.2017 / 15:42

1 resposta

2

Sua conta de usuário pode não ter a permissão de "Leia e execute" nessas DLLs.

Clique com o botão direito do mouse em uma dessas DLL, escolha Propriedades, guia Segurança e verifique as permissões da sua conta ou da conta genérica Usuários. Você pode adicionar permissões usando o botão Editar.

Para obter mais informações, consulte este artigo da Microsoft .

    
por 26.04.2017 / 20:10