안녕하세요. 한델에서 많은 도움을 받고 있는 초심자 입니다.
오늘의 질문은 다름이 아니라 dLL과 ActiveX에 대한것입니다.
질문 1
:: ActiveX 프로그램을 만들어 배포와 설치시 아무런 문제 없이 동작을
합니다. 하지만 기능들중 하나인 aaa라는 기능이 있습니다.
aaa는 bbb.dll을 호출하여 사용합니다. bbb.dll은 system32 폴더에
들어가게끔 inf 파일에서 설정했고 확인결과 문제 없이 system32폴더에
들어 갑니다. 문제는 이 bbb.dll이 register에 등록이 되지 않았는지 아무런
오류 메세지 없이 동작을 안하고 있습니다.
이러한 문제는 왜 일어 나는지 알고 싶습니다.
해결방법이 제 생각으로는 bbb.dll 파일을 register에 등록을 해주면 사용
가능할것 같은데 제 생각이 맞는 것인지 답변 부탁드립니다.
질문 2
:: 제 생각이 맞다면 어느 부분에서 register에 등록을 해줘야 하나요?
ActiveX프로그램이 실행될때 즉 cab 파일을 Client 쪽에서 Download 할때
같이 등록을 해줬으면 하는데 그렇게 하려면 어디서 등록을 시켜야
하나요??
질문 3
:: 등록을 시키는 프로그램 코드는 여기 한델 게시판을 찾아보면 나오는
코드들을 이용하면 되는건가요??
** 이상 초심자의 얼토당토 질문이었습니다. 이 질문에 해답을 알고 계신
선배님들 도와 주세요.. 질문의 내용을 이해하기 어렵다면 답글 남겨 주세요
그럼 미리 감사 말씀 드립니다. (--)(__)(--)v
dll을 함께 배포할 경우 다음과 같이 inf 파일을 작성하여, cab으로 묶어서 합니다.
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
aaa.dll=aaa.dll
bbb.ocx=bbb.ocx
[aaa.dll]
file-win32-x86=thiscab
RegisterServer=yes <----- 요기
DestDir=11
FileVersion=1,0,1,0
[bbb.ocx]
file-win32-x86=thiscab
clsid={EC275903-2BF2-46B4-88CE-68391EFF1EAE}
RegisterServer=yes
DestDir=
FileVersion=1,0,1,0
"<----- 요기" 표시된 내용을 넣으면, dll이 다운로드 시 바로 레지스트되는 걸로 알고 있습니다.
그런데, system 디렉토리인 경우 굳이 dll이 레지스트 될 필요는 없을 것으로 생각됩니다.
원인을 다른 부분에서 찾아보시는 것이 좋을 거 같습니다. ^^