응용 프로그램을 제대로 시작할 수 없습니다 (0xc0000018)-Windows 8 x64


13

오늘 저는 컴퓨터를 시작했는데 다음과 같은 오류가 나타 났으므로 자동 실행의 일부 프로그램이 시작되지 않았습니다.

응용 프로그램을 올바르게 시작할 수 없습니다 (0xc0000018).  확인을 클릭하여 응용 프로그램을 닫습니다

많은 프로그램을 열 때이 오류가 발생하여 7zip을 사용할 수도 없습니다. 내가 어제 한 일은 Steam을 통해 게임을 설치하는 것이었고 지금은 내 PC에서 소프트웨어의 70 %와 같은 것을 사용할 수 없습니다 (대부분은 전체 프로그램에서 오류가 발생하고 일부는 특정 모듈에서만 발생합니다).

방금 실행 한 SFC /scannnow결과 : "Windows 리소스 보호에서 무결성 위반을 찾지 못했습니다".

이것이 엉망인 바이러스 나 스팀 일 수 있습니까? 어떻게해야합니까?


2
바이러스는 아니지만 레지스트리가 여전히 손상되었습니다. 이 문제를 해결하기 위해 복원 지점을 사용합니다
Ramhound

불행히도 SSD를 보존하기 위해 PC에서 복원 지점을 비활성화했기 때문에 그렇게 할 수 없습니다.
dan_s

스팀으로 게임을 제거하려고 할 때마다 매번 다시 설치할 수 있습니다.
duDE

시도해 볼 수는 있지만 Steam은 일부 파일을 삭제하고 레지스트리 문제는 해결하지 않을 것이라고 생각합니다.
dan_s 2016 년

2
@Daniele-Steam은 레지스트리를 수정하지 않습니다. DirectX 설치 일 수 있습니다. 또한 Steam 이벤트이고 다른 이벤트는 없다고 가정합니다.
Ramhound 2016 년

답변:


8

모든 제안에 감사드립니다. 어떤 인터넷 검색 후 실제로 저에게 효과적 인 것처럼 보이는이 솔루션을 발견했습니다.

  1. Win + R을 누르고 입력 regedit
  2. 이동 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\­Microsoft\WindowsNT\CurrentVersion\Windo­­ws
  3. APPINIT_DLLS모든 것을 검색 하고 삭제하는 것보다
  4. 재부팅

이 레지스트리 편집에 대한 정보를 찾은 사이트로 링크 할 수 있습니까? 그것은 무엇을합니까?
Karan

이상하게도 YouTube 비디오 에서이 솔루션을 찾았습니다 ... 왜 그것이 엉망이되었는지 또는 왜 이것이 내 문제를 해결했는지 알 수 없지만 효과가 있습니다.
dan_s

최근에 동일한 문제가 발생하여이 레지스트리 "수정"에서 여러 위치를 언급했지만 해당 키가 이미 시스템에 비어 있습니다.
Gordon

1
내 키도 비어 있었고 javaw / java sdk 8을 실행하는 동안 오류가 발생했습니다. 빈 키를 삭제하고 다시 재부팅하면 작동합니다. 어쩌면 그 트릭을 한 것은 세 번째 재부팅 일 것입니다.
Lee

APPINIT_DLLS 메커니즘은 기본적으로 비활성화되어 있기 때문에 Windows 7 이상 OS에서는 작동하지 않습니다.
Nikos

8

난 제프리 리히터의 읽을 때 윈도우 10 때까지 MS가 모호하게하기 때문에 두려워 아주 소수의 사람들이 신비 0xC0000018 EXE 실행 오류의 근본 원인을 알고있어 MS 윈도우 프로그래밍 응용 4 - 에드, 내가 그것을 알아 일어났다.

DLL을 고정 주소 (프로세스 가상 주소 공간에서)에로드해야하지만 요구 사항을 충족 할 수없는 경우 Windows에서 매우 0xC0000018 오류가 발생합니다. 그러나 어떤 DLL이 문제를 일으키는 지 알 수있는 확실한 실마리는 없습니다. "0xC0000018"의 간단한 Google 검색은 당황한 사용자의 많은 게시물로 나타납니다.

재현하려면 하나의 EXE와 두 개의 DLL로 솔루션 (Visual Studio 용어)을 준비하고 두 링커 옵션을 갖도록 DLL을 설정 /FIXED /BASE:"0x44440000"하고 EXE가 두 개의 DLL을 암시 적으로로드하도록하면 EXE 시작시 0xC0000018 오류가 표시됩니다.

그리고 네, APPINIT_DLLS레지스트리에서 삭제하는 것은 가능한 범인을 제거하는 첫 번째 내기입니다. 이러한 DLL은 시작하는 모든 프로세스에로드되므로 라이브를 망칠 수 있습니다.

그렇다면 실제 범인 DLL을 어떻게 찾아 낼 수 있습니까? 아마도 모든 DLL을 확인하는 방법, 사용 DUMPBIN.EXE가 APPINIT_DLLS또는 다른 가능한 자동으로로드 된 DLL (도움 자동 실행을 ,)를 하나씩 확인은 dumpbin -headers. .reloc섹션 이 없으면 고정 위치 DLL입니다.


2
더 빠른 방법은을 사용하는 것 procmon입니다. 프로세스가로드하려고 시도한 마지막 DLL은 오류를 유발 한 DLL이어야합니다.
ivan_pozdeev

1
이 오류를 발생시키는 명백한 방법은 실행 파일에 매우 큰 데이터 섹션 (예 : 정적 배열)이있는 경우입니다. 섹션이 일부 커널 dll의 고정 주소를 침해 할 정도로 충분히 크면 c0000018실행 파일이 32 비트 인 경우에 발생합니다. 64 비트 실행 파일을 사용하면 Windows에서 '잘못된 이미지'오류로로드를 거부하므로 매우 혼동됩니다. 디버그 / 릴리스 빌드에서는 오류가 표시되거나 사라질 수 있으며 Windows 업데이트가 시스템 dll의 주소 공간 레이아웃을 변경 한 후 예기치 않게 나타날 수 있습니다.
Anton Tykhyy

1

Steam을 통해 약 40 게임을 설치했으며 아무런 문제가 없습니다. 아니요 Steam의 나쁜 점은 아닙니다. Windows 복원 지점을 사용하여 시스템을 복원하십시오. http://windows.microsoft.com/en-ph/windows-vista/system-restore-frequently-asked-questions

[편집 됨] 일부 DLL이 누락되었을 수 있습니다. Dependency Walker를 사용하여 시작할 수없는 프로그램의 종속성을 테스트 할 수 있습니다. http://www.dependencywalker.com/


위의 의견에서 말했듯이 SSD를 보존하기 위해 PC에서 복원 지점을 비활성화 했으므로 그렇게 할 수 없습니다. RestoreWindows 버튼을 누르고 "설정"탭에서 무언가를 검색하려고하면 Metro가 멈추기 때문에 PC 에서도 서비스를 할 수 없습니다 .
dan_s 2016 년

글쎄, 내가 위에서 말했듯이 (이 방법이 마음에 든다면) 게임을 제거하려고 시도 할 수 있습니다. 증기마다 매번 다시 설치할 수 있습니다. 아마 도움이 될까요?
duDE

@Daniele - 당신의없는에있는 경우에도에 시작 화면에게 그것의 시간을 볼 Refresh당신의 Windows 8설치. 데스크탑 응용 프로그램을 다시 설치해야합니다.
Ramhound 2016 년

0

다음 MS 업데이트 및 McAfee Data Loss Prevention Endpoint (DLP Endpoint)와 관련이있을 수 있습니다. MS 업데이트와 McAfee Data Loss Prevention Endpoint간에 충돌이있는 것 같습니다.

다음 웹 사이트를 방문하십시오. Data Loss Prevention Endpoint가 설치된 Windows 7의 Microsoft 패치 MS15-038 Microsoft 보안 공지 MS15-038-중요


explorer.exe 및 cmd에도 영향을줍니다. Windows가 시작되면 탐색기 관련 프로그램에 "서버 실행 실패"가 표시됩니다.
Mehrdad Nazmdar

어쩌면 OP는 McAfee 사용에 대해 언급하지 않았으며 그의 게시물은 2 세입니다. 그는 패치없이 자신의 문제를 해결했으며 패치는 최신 패치입니다. 어떤 경우 든 링크 된 페이지가 변경되면 답변이 무효화 될 수 있으므로 참조 링크에서 답변의 필수 부분을 인용하십시오.
DavidPostill
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.