Windows 7 64 비트에서 DLL 파일을 등록하고 있습니까?
다음 코드를 사용했습니다.
cd c:\windows\system32
regsvr32.exe dllname.ax
그러나 이것은 나를 위해 작동하지 않습니다. 64 비트 프로세서가있는 Windows 7에서 DLL 파일을 등록해야합니까?
입력 regsvr32 name.dll프롬프트 명령에 (! 높은 모드에서 실행)을 입력하고 Enter 키를 눌러 "입력합니다." 참고 name.dll등록 할 것을 DLL의 이름으로 교체해야합니다. 예를 들어, iexplore.dll을 등록한 비용 regsvr32 iexplore.dll.
32 비트 또는 64 비트 dll인지 지정하지 않고 오류 메시지를 포함하지 않지만 KB 문서 : Regsvr32.exe를 사용할 때 발생하는 오류 메시지에 설명 된 것과 동일한 문제라고 생각합니다. 64 비트 Windows
그 기사에서 인용 :
System32 폴더의 Regsvr32.exe 파일이 64 비트 버전이기 때문에 문제가 발생합니다. Regsvr32를 실행하여 DLL을 등록하면 기본적으로 64 비트 버전을 사용하게됩니다.
해당 기사의 솔루션 :
이 문제를 해결하려는 경우 % SystemRoot % \ Syswow64 폴더에서 Regsvr32.exe를 실행하십시오. 예를 들어 다음 명령을 입력하여 DLL을 등록합니다.
cd \windows\syswow64regsvr32 c:\filename.dll
DLL이 32 비트 인 경우 :
\ WINDOWS \ SysWOW64와 \ C에 DLL을 복사
에서 상승 프롬프트 명령 :%windir%\SysWoW64\regsvr32.exe %windir%\SysWoW64\namedll.dll
DLL이 64 비트 인 경우 :
\ WINDOWS \ SYSTEM32 \ C에 DLL을 복사
에서 상승 프롬프트 명령 :%windir%\System32\regsvr32.exe %windir%\System32\namedll.dll
나는 그것이 잘못된 방향으로 보이는 것을 알고있다 작동하는 방식입니다. 보다 :
http://support.microsoft.com/kb/249873
인용구 : "참고 Windows 운영되는 파일
의 64 비트 버전 에는 Regsv32.exe 파일의 두 가지 버전이 있습니다. 64 비트 버전은 % systemroot % \. System32 \ regsvr32. exe.
32 비트 버전은 % systemroot % \ SysWoW64 \ regsvr32.exe입니다.
"
x64 시스템에서 system32는 64 비트 용이고 syswow64는 32 비트 시스템에서 사용하고 있습니다. WOW (Windows on Windows)는 64 비트 하위 시스템에서 실행되는 32 비트 하위 시스템입니다.
이름 지정 용어가 엉망이고 혼란 스러울뿐입니다.
다시 ...
syswow64는 64 비트가 아닌 32 비트입니다.
system32는 32 비트가 아니라 64 비트입니다.
디렉토리 각 디렉토리에는 regsrv32가 있습니다. 하나는 64 비트이고 다른 하나는 32 비트입니다. odbcad32 및 et al과 동일한 거래입니다. ( 64 비트 인 system32에서 기본 odbcad32와 함께 표시되지 않는 32 비트 ODBC 드라이버 를 보려면 )
시작 메뉴를 검색 상자에 cmd를 입력합니다. Ctrl + Shift를 누른 상태에서 Enter 키를 누릅니다.
관리자 모드에서 명령 프롬프트를 실행합니다.
이제 다음을 입력하십시오. regsvr32 MyComobject.dll
마지막으로 솔루션이 CMD를 관리자 권한으로 실행 한 다음
cd \windows\syswow64
그런 다음 거주 쓰십시오
regsvr32 c:\filename.dll
그 대답이 당신을 도울 수 있기를 바랍니다.
DLL이 32 비트 인 경우 :
- DLL을 C : \ Windows \ SysWoW64 \에 복사합니다.
- 상승 된 cmd : % windir % \ SysWoW64 \ regsvr32.exe % windir % \ SysWoW64 \ namedll.dll
DLL이 64 비트 인 경우 :
- DLL을 C : \ Windows \ System32 \에 복사합니다.
- 상승 된 cmd : % windir % \ System32 \ regsvr32.exe % windir % \ System32 \ namedll.dll
여기에있는 모든 것이 잘못된 길로 실패했습니다. 그런 다음 이전 Win95 시절의 트릭을 기억했습니다. .dll이있는 프로그램 폴더를 C : / Windows / System32를 한 regsvr32까지 아래로 스크롤 다음 프로그램 폴더에서 rgsrver32로 dll을 끌어다. 붐, 완료.
오류 메시지를 아는 것이 다소 중요합니다. 그것은 정보를 제공하기위한 것입니다. 하지만 그것이 당신에게 이해가 제공되는 것이 아닙니다. 추측 할 수밖에없는 DLL은 32 비트 DirectX 필터라고 말하고 싶습니다. 이 경우 적절한 조치를 취해야합니다.
cd c:\windows\syswow64
move ..\system32\dllname.ax .
regsvr32.exe dllname.ax
UAC가 필요한 액세스를 중지 할 수있는 관리자 권한을 명령 프롬프트에서 실행해야합니다. superuser.com에서 이에 대한 추가 질문을하십시오.
방금이 매우 간단한 방법을 테스트 했으며 완벽하게 작동하지만 기본 제공 관리자 계정을 사용하므로 상승 된 권한을 위해 뒤죽박죽을 할 필요가 없습니다.
다음 배치 파일을 사용하면 사용자가 시스템 폴더 안팎으로 파일을 이동할 필요가 없습니다. 또한 적절한 버전의 Regsvr32.
명령:
등록하려는 라이브러리 (
-.dll또는-.ax) 파일 이 포함 된 폴더 에서 새 텍스트 파일을 열고 아래 루틴 중 하나에 붙여 넣습니다.echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 64-BIT SYSTEMS copy %1 C:\Windows\System32 regsvr32 "%nx1" echo END BATCH FILE pauseecho BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 32-BIT SYSTEMS copy %1 C:\Windows\SysWOW64 regsvr32 "%nx1" echo END BATCH FILE pause새 텍스트 파일을 배치 (
-.bat) 파일 로 저장합니다 . 그런 다음-.dll또는-.ax파일을 배치 파일 위에 끌어다 놓습니다 .UAC가 관리자로 배치 파일을 실행할 기회를 제공하지 않는 경우 권한을 수동으로 상승시켜야 할 수 있습니다 (지침은 Windows 7 용임).
- 배치 파일을 마우스 오른쪽 버튼으로 클릭합니다.
- 선택
Create shortcut; - 바로 가기를 마우스 오른쪽 버튼으로 클릭하십시오.
- 선택
Properties; Compatibility탭을 클릭 하십시오.- 라벨이 붙은 체크 박스를 선택합니다
Run this program as administrator. - 배치 파일 대신 새 바로 가기 위에
-.dll또는-.ax파일을 끌어다 놓습니다 .
그게 다야 . COPY 대신 MOVE UAC 관련 후속 시도의 실패를 방지 하기로 선택했습니다 . 성공적으로 등록한 후에는 원본 라이브러리 ( -.dll 또는 ) 파일 을 삭제해야 -.ax합니다.
이전 패스에 의해 시스템 폴더 ( C:\Windows\System32 또는 ) 에 복사 된 복사본에 대해 걱정하지 마십시오C:\Windows\SysWOW64 . 배치 파일을 실행할 때마다 덮어 쓰게됩니다.
잘못된 배치 파일을 실행하지 않는 한 , 적절한 배치 파일을 실행하기 전에 잘못된 시스템 폴더 ( C:\Windows\System32 또는 C:\Windows\SysWOW64 )에 만들어진 복사본을 삭제하고 싶을 것입니다 .
디렉터리 위치를 완전히 지정하여 Windows가 등록 할 올바른 라이브러리 파일을 선택하도록 도와주세요.
- 올바른 배치 파일에서 시스템 폴더 경로를 복사하십시오.
- 64 비트 인 경우 :
C:\Windows\System32 - 32 비트 인 경우 :
C:\Windows\SysWOW64
- 64 비트 인 경우 :
- 다음 줄에 붙여 넣어
%nx1- 64 비트 인 경우 :
regsvr32 "C:\Windows\System32\%nx1" - 32 비트 인 경우 :
regsvr32 "C:\Windows\SysWOW64\%nx1"- 따옴표 안에 경로 붙여 넣기
%nx1시스템 폴더 경로 와 분리 되도록 백 슬래시 삽입
- 또는 ...
- 64 비트 인 경우 :
- 올바른 배치 파일에서 시스템 폴더 경로를 복사하십시오.
이 Shotgun 배치 파일을 실행하면 다음 작업이 수행됩니다 (순서대로).
- 중단 된 등록 프로세스 정리 수행
- 도서관 파일에 의해 완료된 등록 절차를 되돌립니다.
- 시스템 폴더 중 하나에 저장된 라이브러리 파일의 사본을 삭제하십시오.
- 이 시점에서 배치 파일을 종료 할 수 있도록 일시 중지합니다 (원하는 경우 다른 파일 실행).
- 라이브러리 파일에 64 비트 설치 시도
- 라이브러리 파일을에 복사하십시오
C:\Windows\System32. - 라이브러리 파일을 64 비트 프로세스로 등록하십시오.
- 이 시점에서 배치 파일을 종료 할 수 있도록 일시 중지합니다.
- 라이브러리 파일을에 복사하십시오
- 64 비트 설치 실행 취소
- 라이브러리 파일 등록을 64 비트 프로세스로 되돌립니다.
- 에서 라이브러리 파일을 삭제하십시오
C:\Windows\System32. - 이 시점에서 배치 파일을 종료 할 수 있도록 일시 중지합니다 (원하는 경우 다른 파일 실행).
- 라이브러리 파일에 32 비트 설치 시도
- 라이브러리 파일을 다음으로 복사하십시오.
C:\Windows\SystemWOW64 - 라이브러리 파일을 32 비트 프로세스로 등록하십시오.
- 이 시점에서 배치 파일을 종료 할 수 있도록 일시 중지합니다.
- 라이브러리 파일을 다음으로 복사하십시오.
- 라이브러리 파일의 등록되지 않은 원본 사본 삭제
- 중단 된 등록 프로세스 정리 수행
Windows 7에는 차이가 있습니다 . 관리자로 로그온하면 관리자로 프로그램을 실행할 때와 동일한 권한이 부여 되지 않습니다 .
시작-모든 프로그램-액세서리로 이동합니다. 명령 창을 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 선택하십시오. 이제 다음을 통해 dll을 정상적으로 등록하십시오. regsrvr32 xxx.dll
이 작업을 수행하는 동안 오류 코드 0x80040201이 표시되면 오류 코드 0x80040201로 실패한 DllRegisterServer 의 솔루션을 시도해보십시오. 하지만 관리자 권한으로 실행 명령 프롬프트를 열 었는지 확인하십시오 .
당신은 실행 필요 cmd.exe에c:\windows\system32\ by administrator
명령 : 등록 취소 * .dll 파일
regsvr32.exe /u C:\folder\folder\name.dll
등록 용 * .dll 파일
regsvr32.exe C:\folder\folder\name.dll
regsvr32와 관련된 혼란의 일부는 64 비트 창에서 이름과 경로가 변경되지 않았지만 이제 64 비트 DLL을 등록한다는 것입니다. 32 비트 regsvr32는 64 비트 응용 프로그램을 나타내는 이름 인 SysWOW64에 있습니다. 그러나 이름에서 WOW64는 Windows 64의 Windows 또는 Windows 64 비트의 Windows 32 비트를 의미합니다. 이런 식으로 생각하면 이름이이 문맥에서 혼란 스럽지만 의미가 있습니다.
MSDN 블로그에서 원본 소스를 찾을 수 없지만이 Wikipedia 기사 http://en.wikipedia.org/wiki/WoW64 에서 참조됩니다 .
Win7 x64 컴퓨터에서이 문제를 해결하는 방법은 다음과 같습니다.
1-오류 메시지 :
"CoCreateInstance () 실패 Plkease 레지스트리 항목 CLSID {F088EA74-2E87-11D3-B1F3-00C0F03C37D3}를 확인하고 관리자로 로그인했는지 확인하십시오."
2-수정 절차 :
- cmd / RightMouse 시작 / 입력 cmd.exe를 클릭하고 "관리자 권한으로 실행"을 선택합니다.
- 입력 : regsvr32 / s C : \ Program Files \ Autodesk \ 3ds Max Design 2015 \ atl.dll regsvr32 / s C : \ Program Files \ Autodesk \ 3ds Max Design 2015 \ MAXComponents.dll
- Win 7을 다시 시작하고 다시 사업을 시작하십시오!
도움이 되었기를 바랍니다 !
참고 URL : https://stackoverflow.com/questions/4897685/how-do-i-register-a-dll-file-on-windows-7-64-bit
'IT' 카테고리의 다른 글
| 1 차원 스칼라 배열을 교리 dql 쿼리 결과로 얻는 방법은 무엇입니까? (0) | 2020.08.18 |
|---|---|
| 신속하게 navigationBar에서 제거 (0) | 2020.08.18 |
| UITableView의 배경을 터치하여 키보드 닫기 (0) | 2020.08.18 |
| 단위 테스트를 위해 비공개 메서드를 공개하는 중입니다. 좋은 생각인가요? (0) | 2020.08.18 |
| HTML 날짜 입력 태그에서 날짜 형식을 설정하는 방법은 무엇입니까? (0) | 2020.08.18 |