Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

이 문서에 발생한 오류 메시지가 설명되어 있지 않으면 TechNet 이벤트 및 오류 페이지에서 자세한 오류 메시지 설명, 권장 조치 및 추가 지원 리소스를 확인할 수 있습니다. 

요약

Regsvr32는 Windows 레지스트리의 DLL 및 ActiveX 컨트롤과 같은 OLE 컨트롤을 등록하고 등록 취소하는 명령 줄 유틸리티입니다. Regsvr32.exe는 Windows XP 이상 버전의 Windows에서 %systemroot%\System32 폴더에 설치됩니다.


참고 64비트 버전의 Windows 운영 체제에는 두 가지 버전의 Regsv32.exe 파일이 있습니다.

  • 64비트 버전은 %systemroot%\System32\regsvr32.exe입니다.

  • 32비트 버전은 %systemroot%\SysWoW64\regsvr32.exe입니다.

Regsvr32 명령의 구문

Regsvr32.exe에는 다음과 같은 명령줄 옵션이 있습니다.

Regsvr32 [/u] [/n] [/i[:cmdline]] <dllname>

/u - 서버 등록 해제

/i - 선택적 [cmdline]에 보내는 DllInstall 호출, /u가 지정되면 dll 설치 제거 호출
/n - DllRegisterServer 호출 안 함, 이 옵션에는 /i가 지정되어야 함

/s – 무음; 메시지 상자를 표시하지 않음

Regsvr32 오류에 대한 일반적인 솔루션

Regsvr32 오류가 나타나면 다음 방법 중 하나를 시도하세요.

  • 방법 1: 관리자 권한의 명령 프롬프트에서 Regsvr32 명령을 다시 실행합니다.관리자 권한 명령 프롬프트를 열려면 다음을 수행합니다.

    Windows 8.1 및 Windows 8화면 오른쪽 가장자리에서 안쪽으로 살짝 민 다음 검색을 탭합니다. 또는 마우스를 이용할 경우 화면 오른쪽 하단 모서리를 가리킨 다음 검색을 클릭합니다. 검색 상자에 명령 프롬프트를 입력하고 명령 프롬프트를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 클릭합니다. 관리자 암호나 확인을 요청하는 메시지가 나타나면 암호를 입력하거나 허용을 클릭합니다.

    Windows 7 및 Windows Vista시작을 클릭하고 검색 상자에 명령 프롬프트 또는 cmd를 입력합니다. 그런 다음 명령 프롬프트를 마우스 오른쪽 단추로 클릭하고 관리자 권한으로 실행을 클릭합니다. 관리자 암호나 확인을 요청하는 메시지가 나타나면 암호를 입력하거나 허용을 클릭합니다.

    Windows XP관리자 계정이나 관리자 권한이있는 계정으로 로그온한 다음 명령 프롬프트 창을 엽니 다.

  • 방법 2: 32비트 버전 Regsvr32을 사용하여 64비트 버전의 Windows에서 32비트 DLL 등록하세요.64비트 버전의 Windows에서 32비트 DLL을 등록할 때 오류가 발생하는 경우 다음을 수행합니다.

    1. 관리자 권한 명령 프롬프트를 엽니다.

    2. 32비트 DLL이 %systemroot%\System32 폴더에 있으면 %systemroot%\SysWoW64 폴더로 옮깁니다.

    3. 다음 명령을 실행합니다.

      %systemroot%\SysWoW64\regsvr32 <full path of the DLL>

Regsvr32 오류 메시지

다음 목록에는 RegSvr32 오류 메시지와 가능한 원인이 포함되어 있습니다.

오류 메시지

원인

명령 플래그 ""%1""이(가) 올바르지 않습니다. 명령 사용법을 검토하고 다시 시도하십시오.

명령줄에서 잘못된 옵션 조합이 regsvr32.exe로 전달되었습니다.

이 명령은 Microsoft Visual Studio OLE ActiveX 컨트롤 프로젝트가 열려 있을 때만 유효합니다.

Regsvr32.exe가 Visual Studio에서 호출되었지만 명령줄에 모듈이 지정되지 않았습니다.

모듈을 등록하려면 이진 이름을 지정해야 합니다.

명령줄에서 모듈을 지정하지 않고 Regsvr32.exe가 호출되었습니다.

OleInitialize 명령을 실행하지 못했습니다. 컴퓨터의 메모리가 부족한 것 같습니다. 열려 있는 프로그램을 닫고 다시 시도하십시오.

Regsvr32는 필요한 COM 라이브러리 함수를 호출하기 전에 COM 라이브러리를 초기화해야 하고 종료될 때 라이브러리의 초기화를 취소해야 합니다. 이러한 오류 메시지는 COM 라이브러리의 초기화 또는 초기화 취소 시도가 실패하는 경우 발생합니다.

모듈 ""%1""을(를) 로드하지 못했습니다.\n\n 바이너리가 지정된 경로에 저장되었는지 확인하거나 디버그하여 바이너리 또는 종속 .DLL 파일에 문제가 있는지 확인하십시오.\n\n%2.

명령줄에 지정된 모듈을 로드하는 동안 오류가 발생했습니다. 오류 텍스트가 메시지의 일부로 나타납니다.

모듈 ""%1""을(를) 로드했지만 %2 진입점을 찾을 수 없습니다.\n\n""%1""이(가) 올바른 DLL이나 OCX 파일인지 확인한 다음 다시 시도하십시오.

Regsvr32.exe에서 명령줄에 지정된 모듈의 필요한 진입점을 찾지 못했습니다. 이 문제는 모듈에서 진입점을 제대로 내보내지 않았거나 모듈이 .DLL 또는 .OCX 파일이 아닌 경우 발생할 수 있습니다.

모듈 ""%1""을(를) 로드했지만 오류 코드 %3(으)로 인해 %2 호출에 실패했습니다.\n\n이 문제에 대한 자세한 내용을 보려면 오류 코드를 검색 단어로 사용하여 온라인에서 검색하십시오.

regsvr32.exe에서 명령줄에 지정된 모듈의 진입점을 호출했을 때 오류가 발생했습니다. 오류 코드가 메시지의 일부로 나타납니다.

모듈 ""%1""은(는) 현재 실행 중인 Windows 버전과 호환되지 않습니다. 모듈이 x86(32비트) 또는 x64(64비트) 버전의 regsvr32.exe와 호환되는지 확인하십시오.

예를 들어, regsvr32.exe가 x86 컴퓨터에서 실행되고 명령줄에 지정된 모듈이 64비트 모듈인 경우 이 오류가 발생할 수 있습니다.


다음 목록에는 RegSvr32 오류 메시지와 가능한 원인이 포함되어 있습니다.

오류 메시지

원인

인식할 수 없는 플래그: /invalid_flag

잘못된 플래그 또는 스위치 조합을 입력했습니다.

DLL 이름을 지정하지 않았습니다.

.dll 파일 이름을 포함하지 않았습니다.

Dll_Name을(를) 로드했으나 DllRegisterServer 또는 DllUnregisterServer 진입점을 찾을 수 없습니다.

지정된 Dll 이름이 .dll 또는 .ocx 파일이 아닙니다. 예를 들어 regsvr32 wjview.exe를 입력하면 이 오류 메시지가 생성됩니다.

Dll_Name은(는) 실행 파일이 아니며 등록 도우미가 이 파일 형식에 등록되어 있지 않습니다.

지정된 Dll 이름이 실행 파일(.exe, .dll 또는 .ocx)이 아닙니다. 예를 들어 regsvr32 autoexec.bat를 입력하면 이 오류 메시지가 생성됩니다.

Dll_Name은 메모리에서 자동 등록 파일이 아니거나 손상된 버전입니다.

예를 들어 regsvr32 icwdial.dll을 입력하면 Icwdial.dll 파일이 자동 등록 파일이 아니기 때문에 이 오류 메시지가 나타납니다. Dllname의 손상된 버전이 메모리에 있다고 의심되면 컴퓨터를 다시 시작하거나 파일의 원래 버전을 다시 추출해 보십시오.

OleInitialize를 실패했습니다(또는 OleUninitialize를 실패했습니다)

Regsvr32는 필요한 COM 라이브러리 함수를 호출하기 전에 COM 라이브러리를 초기화해야 하고 해당 라이브러리가 종료될 때 라이브러리의 초기화를 취소해야 합니다. 이러한 오류 메시지는 COM 라이브러리의 초기화나 초기화 취소가 실패할 경우 발생합니다. 예를 들어, Ole32.dll 파일이 손상되었거나 잘못된 버전일 수 있습니다.

LoadLibrary("Dll_Name")를 실패했습니다. GetlastError가 0x00000485을(를) 반환했습니다.

From Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). 이것은 "이 응용 프로그램을 실행하는 데 필요한 라이브러리 파일 중 하나를 찾을 수 없다"는 의미입니다. 예를 들어, regsvr32 missing.dll을 입력하면 Missing.dll 파일을 찾을 수 없기 때문에 이 오류 메시지가 나타납니다.

LoadLibrary("Dll_Name")를 실패했습니다. GetLastError가 0x00000002을(를) 반환했습니다.

From Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). 이것은 "지정한 파일을 찾을 수 없다"는 의미입니다. 즉, 종속 DLL을 찾을 수 없습니다. 예를 들어, Tapi32.dll(종속성)이 누락된 상태로 regsvr32 icwdial.dll을 입력하면 이 오류 메시지가 반환됩니다.

LoadLibrary("dskmaint.dll")를 실패했습니다. GetLastError가 0x000001f을(를) 반환했습니다.

From Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). 이것은 "시스템에 연결된 장치가 작동하지 않는다"는 의미입니다. Win16 .dll 파일을 등록하려고 하면 이 문제가 발생할 수 있습니다. 예를 들어, regsvr32 dskmaint.dll을 입력하면 다음 오류 메시지가 반환됩니다.

Dll_Name의 DllRegisterServer(또는 DllUnregisterServer)를 실패했습니다. 반환된 오류 코드: string

Winerror.h 파일에서 메시지에 지정된 문자열을 검색합니다.


도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×