문제

OCX가 RegSRV32에 먼저 등록하지 않고 WinForm (아마도 프로그래밍 방식으로 추가)에서 OCX (ActiveX Control)를 사용할 수 있습니까?

내가 달성하려는 것은 Xcopy 설치를 가능하게하는 것입니다. 나는 "axinterop..dll "및"인터 로프..dll "내 DEV 시스템에서 생성 된 파일.

먼저 등록하지 않고 com dll을 호출 할 가능성을 보았습니다 (prosyslib, 저자에 따르면, 아직 테스트하지는 않았습니다), OCX도 COM 기반이기 때문에 그렇게 할 수있는 방법도 있어야한다고 가정합니다.

도움이 되었습니까?

해결책

예, 이것은 할 수 있습니다. 응용 프로그램이 Windows XP (또는 Windows Server 2003)에만 배포된다고 가정하고 나중에 '등록 무료 COM'이라고하는 것을 사용하여이를 수행 할 수 있습니다.

본질적으로 당신이하는 일은 ActiveX Control DLL에 대한 매니페스트 파일을 작성하여 Windows Loader & Com DLL은 레지스트리에 넣지 않고 등록이 무엇인지 알 수 있습니다.

MSDN 의이 기사에서해야 할 일에 대한 연습은 다음과 같습니다.COM 구성 요소의 등록이없는 활성화 : 연습

해당 기사에서 "6 단계"및 "단계 7"에 모든 것 필요할 것이예요.

방금 Microsoft ActiveX 그리드 컨트롤 (기존 MS Flex Grid”)을 사용하는 내 C# 프로그램 중 하나에서 이것을 시도해 보았습니다. 응용 프로그램과 COM DLL 모두에 대한 매니페스트 파일을 작성하고 적절한 장소에서 적절한 안내를 대체하십시오. 편리하지 않은 경우 ActiveX DLL에서 사용할 올바른 ID를 파헤 치기 위해 Oleview를 사용해야 할 수도 있습니다.

다른 팁

.NET에 작성된 COM 구성 요소에 레지스트리 프리 COM을 사용하는 것 같습니다. Windows XP에서 무작위로 충돌이 발생할 수 있습니다!

연결: stackoverflow 질문 내가 이것을 배운 곳, Microsoft Knowledgebase 기사 그 질문에서 언급되었습니다. 핫픽스가 있지만 재분배 할 수 없습니다.

Visual Studio에서는 훨씬 간단합니다. 참조로 가서 OCX에 의해 생성 된 위치를 찾아서 (2, axsomething 등이 있어야 함) 두 가지를 위해 두 가지를 위해 설정하십시오. 증상이없고 코드도 없습니다. 이제 OCX가 포함 된 DLL 파일로 EXE를 배포해야합니다. 개발 기계에서 OCX를 등록 할 수 있습니다.

10 시간 동안 Win7에서 OCX로 VB6 앱을 실행하는 방법을 검색 한 후 등록 및 관리자 권한을 등록하지 않고 다음과 같은 클릭 솔루션을 찾았습니다. http://mmm4vb6.atom5.com/yes-update-0-12-5479.html#c

임베드 매니페스트를 확인하여 작동하도록 확인해야합니다. 매력으로 작동합니다!

여기서이 질문을 발견했기 때문에 여기서 솔루션을 게시합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top