2009-11-24 2 views
1

다음과 같은 문제가 발생합니다. 누군가 도움을 줄 수 있습니까? Tlbimp 유틸리티를 사용하여 VB6 COM DLL을 RCW DLL로 변환했습니다. 내 Visual Studio 2008에서는 "참조 추가"를 사용하고 C# 클래스에서 해당 DLL을 사용했습니다. 내 컴퓨터에서 모든 것이 잘 작동합니다. 그러나 다른 사람이 자신의 컴퓨터에서 동일한 프로젝트를 사용하는 경우 해당 컴퓨터에서 다음과 같은 오류가 발생합니다. "CLSID {x}을 (를) 가진 구성 요소의 COM 클래스 팩터 리 검색 중 다음 오류로 인해 실패했습니다."80040154 ". 해당 컴퓨터에서 CLSID GUID를 검색하려고했지만 HKCR/CLSID 위치에서 찾을 수 없습니다.다른 컴퓨터에서 COM 예외 80040154 받기

다른 컴퓨터에서 문제가 발생하는 이유는 무엇입니까?이 문제를 해결할 수있는 방법은 무엇입니까?

감사합니다.

답변

4

COM 개체를 다른 컴퓨터에 반드시 설치해야합니까? 반환 된 오류는 클래스가 등록되지 않았다는 것을 의미합니다. tlbimp는 COM 인터페이스를 .NET에 매핑하는 래퍼 어셈블리를 생성하며 COM 객체 자체는 변환하지 않으며 COM 객체 자체를 변환하지 않습니다.

VB6 COM 개체 DLL (또는 .OCX)을 가져 와서 다른 컴퓨터에 넣고 regsvr32 object.ocx를 실행하면 이제는 작동합니다.

+0

+1 VB6 COM DLL에 대한 설치가있는 경우 regsvr32를 사용하는 대신 설치를 실행해야합니다. 다른 종속성이 필요할 수도 있습니다. – MarkJ

관련 문제