2009-07-29 5 views
6

"regsvr32 foo.dll"을 사용할 때 "지정한 모듈을 에 찾을 수 없습니다."오류가 발생합니다.Regsvr32가 현재 폴더에서 DLL을 찾지 못함

현재 폴더인데도 regsvr32에서 파일을 찾을 수 없으므로 오류가 발생했습니다.

전체 경로를 지정했지만 여전히 작동하지 않습니다. 어떤 아이디어 ??

답변

11

이것은 foo.dll의 종속 관계가 bar.dll에 있고 실제로 찾을 수없는 경우 bar.dll 인 경우에 발생할 수 있습니다.

MSVC의 depends.exe을 사용하여 foo.dll의 종속성을 확인하고 누락 된 부분이 있는지 확인하십시오.

또 다른 옵션은 FileMon을 다운로드하여 실행하는 것입니다. 그런 다음 regsvr32을 다시 실행하고 찾을 수없는 파일/모듈을 확인하십시오. 이것은 확실히 그것을 추적해야합니다.

0

64 비트 OS에서 종속성 워커는 저에게 유익하지 않습니다. FileMon은 프로세스 모니터로 대체되었습니다 (유틸리티 다운로드는 https://docs.microsoft.com/en-us/sysinternals/downloads/procmon 참조). 여기에 내가 프로세스 모니터를 사용하여 누락 된 참조를 찾을 수 있었다 방법입니다

ProcMon Toolbar for the Filter Dialog

를 열고 필터 대화 상자 도구 모음 또는 메뉴에서 중.

ProcMon Filter Dialog

필터 목록에 Process Name regsvr32.exe의 추가 및 PID 필터를 제거합니다. 이 꺼져 있으면

ProcMon Clear Toolbar Button

지우기 목록

, ...

ProcMon Capture Toolbar Button

은 ... 캡처를 켭니다.

콘솔 창에서 regsvr32.exe 명령을 실행하십시오. 완료되면 캡처를 해제 할 수 있습니다. regsvr32 후 누락 된 참조

missing reference lines

봐 당신의 DLL을로드.