2010-08-04 3 views
2

Internet Explorer에서 실행할 ActiveX 컨트롤을 작성하고 있습니다. C# 및 System.Runtime.InteropServices 네임 스페이스를 사용하고 있습니다..NET ActiveX 컨트롤이 Internet Explorer에 등록되지 않는 이유는 무엇입니까?

regasm을 사용하여 개발 컴퓨터에 컨트롤을 수동으로 등록하면 컨트롤이 작동하고 자바 스크립트의 new ActiveXObject(..) 기능을 사용하여 컨트롤을 호출 할 수 있습니다.

그러나 생산을 위해 <OBJECT> 태그를 사용하여 내 페이지에 개체를 포함하려는 경우 여기가 문제가됩니다.

액티브 X DLL 등록에 실패, 그리고 내가 액티브 등록 오류 메시지를 검사 할 때, 나는 다음을 참조 (코드 다운로드 오류 로그 뷰어를 사용)된다

OCX 등록 : 없음의 DllRegisterServer 진입 점 (내 control.dll에 대한 경로). 등록을 건너 뜁니다.

누구나 저 밑으로 가도록 도울 수 있습니까? C# 코드에 DllRegisterServer 동작을 수행하는 방법이 필요합니까? 이런 방식으로 .NET에서 개발 된 ActiveX 컨트롤을 사용할 수 있습니까?

감사합니다.

+2

RegSrv32 (또는 일부 등가의 api-call)를 통해 등록 시도에 "OCX Registration : no DllRegisterServer entry point"글꼴이 있다고 생각합니다. 페이지의 컨트롤을 사용하기 전에 약간의 regasm-call이 필요할 것입니다. –

+0

Ok ... IE에서 RegSm을 호출하여 RegSrv32 대신 어셈블리를 등록 할 수 있습니까? –

답변

0

"생산"이란 공용 인터넷을 의미하며 페이지에서 자동으로 ActiveX 컨트롤을 다운로드하고 등록하려는 경우 this answer에 설명 된대로 특수 패키징을 수행해야합니다. "어떻게 배포합니까? 즉 VS2008 프로젝트에서 ActiveX 컨트롤을 사용할 수 있습니까? "

그러나 생산 환경이 인트라넷 인 경우 regasm.exe을 사용하여 어셈블리를 등록한 다음 gacutil.exe를 사용하여 GAC에 설치할 수 있습니다 (이 기사에서 설명).

관련 문제