[WINDOWS]DLL,OCX 등 시스템에 수동 등록(regsvr32)

2012. 4. 25. 13:03NOTE/IT

DLL,OCX 등 시스템에 수동 등록(regsvr32)


http://blog.naver.com/ha386/120005770632 


Regsvr32 사용법 및 오류 메시지 설명

적용 대상 

발생한 오류 메시지에 대한 설명이 이 문서에 없으면 다음 Microsoft 기술 자료에서 오류 메시지를 설명하는 다른 문서를 참조하십시오. 

315854 Windows 98 및 Windows Me 오류 메시지 리소스센터


요약

Regsvr32 도구(Regsvr32.exe)를 사용하여 자동 등록할 수 있는 동적 연결 라이브러리(DLL) 또는 ActiveX 컨트롤(OCX) 같은 개체 연결 및 포함(OLE) 컨트롤을 등록하고 등록 해제할 수 있습니다. 이 도구는 Windows, Microsoft Internet Explorer 또는 다른 프로그램에서 발생하는 일부 문제를 해결하는 데 필요할 수 있습니다. 예를 들어, Microsoft 기술 자료의 다음 문서에서는 Windows Update 사이트에서 설치하기 전에 Regsvr32.exe를 사용하여 Wuv3is.dll 컨트롤을 등록 해제해야 합니다. 

241122 WINUP: 제품 업데이트를 누르면 응용 프로그램 오류가 발생한다


컨트롤 등록에 실패하거나 성공하지 못한 OLE 컨트롤 등록 시도의 문제 해결에 대한 개발자 정보가 필요하면 Microsoft 기술 자료의 다음 문서를 참조하십시오. 

140346 OLE 컨트롤 등록 실패의 가능한 원인


추가 정보

Regsvr32.exe는 Microsoft Internet Explorer 3.0 이상, Windows 95 OEM 서비스 릴리스 2(OSR2) 이상 및 Microsoft Windows NT 4.0 서비스 팩 5(SP5) 이상에 포함되어 있습니다. Regsvr32.exe는 System(Windows Me/98/95) 또는 System32(Windows NT) 폴더에 설치됩니다. 

Regsvr32.exe 사용법

RegSvr32.exe에는 다음 명령줄 옵션이 있습니다. 

Regsvr32 [/u] [/n] [/i[:cmdline]] dllname /u - Unregister server<BR/> /i - 

Call DllInstall passing it an optional [cmdline]; when used with /u calls 

dll uninstall /n - do not call DllRegisterServer; this option must be used with /i 

Regsvr32.exe를 사용하면 구성 요소를 로드하고 해당 DLLSelfRegister 함수를 호출하려고 시도합니다. 이 시도가 성공하면 Regsvr32.exe는 성공을 나타내는 대화 상자를 표시합니다. 시도가 실패하면 Regsvr32.exe는 Win32 오류 코드를 포함할 수 있는 오류 메시지를 반환합니다. Win32 오류 코드 목록은 다음 Microsoft 웹 사이트를 참조하십시오. 

http://msdn.microsoft.com/library/en-us/netdir/adsi/win32_error_codes.asp


예를 들어, Sample.ocx ActiveX 컨트롤을 수동으로 등록하려면 MS-DOS 프롬프트에서 다음 명령을 입력하십시오. 

c:regsvr32.exe sample.ocx


Regsvr32.exe 오류 메시지

다음 목록에는 RegSvr32 오류 메시지와 가능한 원인에 대한 설명이 들어 있습니다. 


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


플래그나 스위치의 잘못된 조합을 입력했습니다. 본 문서의 "Regsvr32.exe 사용법" 절을 참조하십시오. 


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


.dll 파일 이름을 포함시키지 않았습니다. 본 문서의 "Regsvr32.exe 사용법" 절을 참조하십시오. 


Dllname을(를) 로드했으나 DllRegisterServer 또는 DllUnregisterServer 시작점이 없습니다.


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


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


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


Dllname을(를) 로드했으나 DllRegisterServer 또는 DllUnregisterServer 시작점이 없습니다.


Dllname을 내보내지 않았거나 Dllname의 손상된 버전이 메모리에 있을 수 있습니다. Pview를 사용하여 파일을 검색하고 제거하는 것을 고려하십시오. 


Dllname is not self-registerable or a corrupted version is in memory.


예를 들어, regsvr32 icwdial.dll을 입력하면 Icwdial.dll 파일이 자동 등록 파일이 아니기 때문에 이 오류 메시지가 나타납니다. 메모리에 Dllname 의 손상된 버전이 있다고 의심되면 컴퓨터를 다시 시작하거나 파일의 원래 버전을 다시 추출해 보십시오. Windows NT를 실행 중인 경우 Microsoft Windows NT Server 4.0 Resource Kit의 Kill 또는 Pview 도구를 사용해야 할 수 있습니다 . 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오. 

197155 잘못된(Orphaned) 프로세스를 종료하는 방법


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


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


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


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


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


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


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


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


Dllname의 DllRegisterServer(또는 DllUnregisterServer) 실패. 반환된 오류 코드: string


string은 Winerror.h를 검색하십시오. 

Regsvr32.exe 및 종속성

RegSvr32.exe는 Kernel32.dll, User32.dll 및 Ole32.dll 파일(Windows NT에서는 Msvcrt.dll 및 Advapi32.dll 파일)에 종속됩니다. Regsvr32.exe는 모든 종속성과 함께 등록이나 등록을 해제하려는 파일을 로드합니다. 필요한 파일이 없거나 손상된 경우 프로세스가 실패할 수 있습니다. 


Depends.exe를 사용하여 등록이나 등록을 해제하려고 하는 파일의 종속성을 확인할 수 있습니다. Depends.exe는 Microsoft Windows 98 Resource Kit 및 Microsoft Windows NT 4.0 Resource Kit 지원 도구에 포함되어 있습니다. 

247024 Microsoft Windows 98 Resource Kit에 포함된 도구


'NOTE > IT' 카테고리의 다른 글

[MSSQL]저장 프로시저  (0) 2012.04.25
[MSSQL] 각종 예제  (0) 2012.04.25
[VB]함수들  (0) 2012.04.25
[HTML]TEXTAREA 기본문자 삽입,글자수 제한 하기  (0) 2012.04.25
FTP 자동 로그인 스크립트  (0) 2012.04.25