2009-09-01 3 views
0

ActiveX CAB 파일 내에 시스템 DLL을 배포하는 방법을 찾고 있습니다. CAB은 시스템 파일을 업데이트 할 수 없으며 전체 설치가 실패합니다. 완벽하게, DLL을 ActiveX 설치 폴더에 복사하고 싶습니다.CAB 파일 내에 시스템 DLL 배포

내 최고의 제안 (나는 아직 시도하지 않았 음) 일부 독립 실행 형 설치 프로그램에서 INF 파일 훅을 사용하고 있지만 다른 방법이 있습니까?

다른 아이디어는 ...

+0

어떤 시스템 dll입니까? –

+0

덤프 생성에는 dbghelp.dll을 사용하지만 Win2K에서는 dbghelp.dll에 MiniDumpWriteDump가 포함되어 있지 않습니다. 그래서 최신 버전을 사용해야하고 시스템 버전을 대체 할 수 없습니다. – Eugene

+0

아마 이것은 멍청한 질문이지만 Win2K에서도 MiniDumpWriteDump를 호출 할 수 있어야한다는 것은 어려운 요구 사항입니까? 이 바이너리의 시스템 복사본에 대해 LoadLibrary/GetProcAddress를 사용하기 위해 두통을 줄일 수 있으며 엔트리 포인트가 없으면 "정상적으로 실패합니다"(2K가 될 것임) ... 잘하면 XP +에 존재해야합니다 ... – reuben

답변

0

dll을 기본 ActiveX 컨트롤의 리소스로 압축하십시오. 자신의 코드를 사용하여 파일에 기록하십시오.

맬웨어 산업은 이와 같이 많은 경험이 있으며 예제 코드가 있어야합니다.

+0

Win2K 지원을 거부하기로 결정했는데,이 대답은 더 유망 해 보입니다. – Eugene

0

dll을 ActiveX 설치 폴더에 설치하고 dll (LoadLibrary 사용)과 해당 방법 (GetProcAddress 사용)을 동적으로로드 할 수 있습니다.
이 방법을 사용하면 dll을로드 할 위치를 제어하고 시스템 대신 로컬 복사본을 사용할 수 있습니다.

+0

DLL을 독립 실행 형 설치 프로그램 (.msi, * .exe)으로 만 ActiveX 설치 폴더에 설치할 수 있습니다. 이 경우 모두 후기 바인딩이 없어도 작동해야합니다. 하지만 문제는 CAB 파일에서 어떻게 수행 할 것인가입니다. CAB에는 DestDir 키가 있지만 값은 시스템 위치 중 하나입니다. BTW, 나는 dbghelp.dll에 의존성이있는 dbghelp.lib에서 MiniDumpWriteDump를 사용하고 있다고 가정합니다. – Eugene