2014-07-08 3 views
0

Windows Server 32 비트에서 Windows Server 2008 R2로 64 비트 마이 그 레이션했습니다. 웹 사이트에는 모든 기능에 사용되는 VB6 dll이 있습니다.SysWOW64에 등록 된 클래스 인스턴스 만들기

32 비트 DLL을 SysWOW64 폴더에 등록하여 등록했습니다. 또한, 나는 SysWOW64 폴더에서 regedit.exe를 사용하여 분류 된 registerd를 볼 수 있습니다.

그러나, 나는 "Server.CreateObject를을 ('MyClass에')"VB에서, 내가 얻고을 인스턴스를 만들려고 오류 "오류 : 429 ActiveX 구성 요소 캔트 객체를 생성"기존의 32 비트에

같은 작품을 섬기는 사람.

여기에 아무 것도 없습니다. 또는 내가 등록한 클래스에 대한 인스턴스를 생성 할 때 다른 라인을 사용해야합니까? 저에게 알려주세요.

+0

exe로 변환합니다. WSDK에서. 64 비트 Windows에서 64 비트 프로세스는 32 비트 동적 연결 라이브러리 (DLL)를로드 할 수 없습니다. 또한 32 비트 프로세스는 64 비트 DLL을로드 할 수 없습니다. 그러나 64 비트 Windows는 64 비트 및 32 비트 프로세스 (동일한 컴퓨터 및 컴퓨터에서 모두 가능) 간의 RPC (원격 프로 시저 호출)를 지원합니다. 64 비트 Windows에서 out-of-process 32 비트 COM 서버는 64 비트 클라이언트와 통신 할 수 있고 out-of-process 64 비트 COM 서버는 32 비트 클라이언트와 통신 할 수 있습니다. – Noodles

+0

따라서 COM을 인식하지 못하는 32 비트 DLL이있는 경우이를 out-of-process COM 서버에 랩핑하고 COM을 사용하여 64 비트 프로세스와의 호출을 마샬링 할 수 있습니다. – Noodles

+2

기본 ASP? AppPool에 "32 비트 응용 프로그램 사용"이 활성화되어 있는지 확인하십시오. –

답변

0

마침내 .. vb 6 런타임을 설치하려면 프로그램 파일 -> Internet Explorer에서 syswow 64 (이상한 my dll에 의존성이 있음)에서 copy ishims.dll을 복사해야하고 마지막으로 데이터 실행 방지 설정을 변경하지 않아야합니다. ..

0

IIS 7.5 관리자에서 32 비트 모드로 웹 사이트를 실행해야합니다.

관련 문제