Não foi possível iniciar o aplicativo corretamente (0xc0000018) - Windows 8 x64

13

Hoje iniciei meu computador e alguns erros apareceram como este, portanto, alguns programas na execução automática não iniciaram:

O aplicativo não pôde iniciar corretamente (0xc0000018).  Clique em OK para fechar o aplicativo

Eu tenho esse erro ao abrir muitos programas, nem consigo usar o 7zip. A única coisa que fiz ontem foi instalar um jogo através do Steam e agora não consigo usar 70% do software no meu PC (a maioria deles recebe esse erro em todo o programa e alguns apenas em alguns módulos).

Acabei de executar um SFC /scannnowe o resultado foi: "O Windows Resource Protection não encontrou nenhuma violação de integridade".

Poderia ser algum tipo de vírus ou Steam que estragou alguma coisa? O que devo fazer?

dan_s
fonte
2
Não é um vírus, mas seu registro ainda está corrompido. Gostaria de usar um ponto de restauração para resolver este problema
Ramhound
Infelizmente eu pontos de restauração com deficiência no meu PC para preservar a minha SSD, então eu não posso fazer isso
dan_s
Você pode tentar desinstalar o jogo, pelo steam você pode instalá-lo de volta toda vez - talvez isso ajude?
GAJO
Eu poderia tentar, mas acho que o Steam excluirá alguns arquivos e não corrigirá os problemas do meu registro.
dan_s
2
@Daniele - O Steam não modifica o registro. A instalação do DirectX pode. Você também supõe que foi o evento Steam e nenhum outro evento.
Ramhound

Respostas:

8

Obrigado por todas as sugestões, depois de pesquisar no Google, encontrei esta solução que realmente parece ter funcionado para mim:

  1. Pressione Win + R e digite regedit
  2. Vamos para HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\­Microsoft\WindowsNT\CurrentVersion\Windo­­ws
  3. Do que procurar APPINIT_DLLSe excluir tudo nele
  4. Reiniciar
dan_s
fonte
Você pode criar um link para o site onde encontrou informações sobre esta edição do registro? O que isso faz?
22413 Karan
Estranhamente, encontrei esta solução em um vídeo do YouTube ... Não sei por que ela estragou tudo ou por que isso resolveu meu problema, mas funcionou.
22613 dan_s
Ultimamente, estou tendo o mesmo problema e encontrei essa "correção" do registro mencionada em vários lugares, mas essa chave já está vazia no meu sistema.
Gordon
11
Minha chave também estava vazia e eu estava recebendo o erro ao tentar executar o javaw / java sdk 8. Excluiu a chave vazia, reinicializou novamente e funcionou. Talvez tenha sido a terceira reinicialização que fez o truque, quem sabe.
Lee
Isso não funciona no sistema operacional Windows 7+, porque o mecanismo APPINIT_DLLS está desativado por padrão.
Nikos
8

Receio que poucas pessoas conheçam a causa raiz do misterioso erro de inicialização do 0xC0000018 EXE porque a Microsoft torna-o vago, mesmo até o Windows 10. Ao ler os Aplicativos de Programação para Jeffrey Richter para MS Windows 4th-ed, descobri.

Se uma DLL precisar ser carregada em um endereço fixo (no espaço de endereço virtual do processo), mas o requisito não puder ser atendido, o Windows confirmará o erro 0xC0000018. Mas não há nenhuma pista aparente para saber quais DLL (s) causam o problema. Uma simples pesquisa no Google de "0xC0000018" mostra várias postagens de usuários confusos.

Para reproduzir, você pode preparar uma solução (termo do Visual Studio) com um EXE e duas DLL, e definir a DLL para ter a opção de vinculador /FIXED /BASE:"0x44440000"e fazer com que o EXE carregue implicitamente as duas DLLs, e você verá o erro 0xC0000018 ao iniciar o EXE.

E sim, limpar APPINIT_DLLSo registro é sua primeira aposta para se livrar dos possíveis culpados. Essas DLLs serão carregadas em todos os processos iniciados, por isso podem arruinar a sua vida.

Então, como identificar a DLL culpada real? Talvez exista uma maneira de usar o dumpbin.exe para verificar todas as DLLs APPINIT_DLLSou outras possíveis DLLs carregadas automaticamente (ajuda com o AutoRuns ), verifique-as uma a uma dumpbin -headers. Se não houver .relocseção, é uma DLL de local fixo .

Jimm Chen
fonte
2
Uma maneira mais rápida é usar procmon. A última DLL que o processo estava tentando carregar deve ser a que acionou o erro.
ivan_pozdeev
11
Uma maneira não óbvia de acionar esse erro é quando o executável possui uma seção de dados muito grande (por exemplo, matrizes estáticas). Se a seção for grande o suficiente para invadir o endereço fixo de alguma dll do kernel, c0000018ocorrerá se o executável for de 32 bits. Com os executáveis ​​de 64 bits, o Windows se recusa a carregá-los com o erro 'imagem ruim', o que é bastante confuso. Observe que o erro pode aparecer e desaparecer com as versões de depuração / lançamento e aparecer inesperadamente após as atualizações do Windows alterarem o layout do espaço de endereço das DLLs do sistema.
Anton Tykhyy
1

Instalei cerca de 40 jogos através do Steam e não tenho nenhum problema, não, não acho que seja ruim para o Steam. Tente restaurar o sistema usando os Pontos de Restauração do Windows: http://windows.microsoft.com/en-ph/windows-vista/system-restore-frequently-asked-questions

[EDITADO] Talvez algumas DLLs estejam ausentes, você pode testar as dependências do programa e não pode começar a usar o Dependency Walker: http://www.dependencywalker.com/

cara
fonte
Como eu disse no comentário acima, desativei os pontos de restauração no meu PC para preservar meu SSD, então não posso fazer isso. Eu não consigo nem procurar Restoreno meu PC, porque quando pressiono o botão Windows e tento procurar algo na guia "Configurações", o Metro congela.
dan_s
Bem, como eu disse acima (se você gosta desse jeito), você pode tentar desinstalar o jogo, pelo vapor você pode instalá-lo de volta toda vez - talvez isso ajude?
GAJO
@ Daniel - Se o seu incapaz de ver a tela inicial é hora de Refreshsua Windows 8instalação. Isso exigirá a reinstalação dos aplicativos da área de trabalho.
Ramhound
0

Pode estar associado ao seguinte MS Update e ponto final de prevenção de perda de dados da McAfee (ponto final de DLP). Parece que há um conflito entre a atualização do MS e o McAfee Data Loss Prevention Endpoint.

Visite os seguintes sites: Patch da Microsoft MS15-038 no Windows 7 quando o Terminal de prevenção de perda de dados estiver instalado . Boletim de Segurança da Microsoft MS15-038 - Importante

Mehrdad Nazmdar
fonte
Também afetará o explorer.exe e o cmd. Após a inicialização do Windows, os programas associados ao Explorer solicitarão: "Falha na execução do servidor".
Mehrdad Nazmdar
Talvez, mas o OP não mencionou o uso da McAfee e seu cargo tem 2 anos. Ele corrigiu o problema sem o seu patch e seu patch é muito recente. De qualquer forma, cite as partes essenciais da resposta no (s) link (s) de referência, pois a resposta pode se tornar inválida se as páginas vinculadas forem alteradas.
DavidPostill