Microsoft MVP성태의 닷넷 이야기
글쓴 사람
김기용 (galma73 at naver.com)
홈페이지
첨부 파일
 

안녕하십니까.
어제 코엑스에서의 세미나 잘들었습니다.
개인적으로 Q&A 시간에 질문을 드릴게 있었는데, 끝나고 그런 시간이 없어서 질문을 못드렸었습니다.

현재 ActiveX 마이그레이션 프로젝트를 수행중에 있습니다.
실제 운영중인 ActiveX인데, 간략한 구조는 이렇습니다.
ActiveX 에서 관리권한을 가지는 Broker 프로세스를 별도로 실행을 시킵니다.
그러니까 ActiveX는 UI(DHTML 다이얼로그)만 가지고 내부적인 로직은 Broker에게 맡겨버립니다.
그래서, 이 Broker 프로세스에게 높은 권한을 요하는 일을 시키고 있습니다.
이 Broker에는 라이브업데이트 기능이 포함되어 있는데, 일반적인 파일도 설치가 가능하고, 수행되는데 필요한 타사의 ActiveX도 설치를 할 수가 있습니다.(Cab배포를 내부적으로 처리합니다.)

이런 구조를 봤을 때 IE8에 마이그레이션 시키기 위해서 고려해야 될 사항을 나름대로 생각을 해보면.
1. DHTML 에 쓰이는 디자인(CSS, HTML, Javascript)을 브라우져에 맞게 분기를 시켜야 할거 같고,
2. "탭별 프로세스"는 자원 관련해서 검토를 해봐야될거 같고,
3. "사이트별 ActiveX" 에 대해 뭔가 처리를 해줘야 할 것으로 생각이 됩니다.
4. <object> 코드와 ActiveX 객체를 호출하는 메서드, 이벤트 와 관련해서 html 코드에서 수정해줘야 하는 부분이 있는지 검토

1번과 2번은 시간을 투자하면 답이 나올거 같습니다.
4번은 자료를 찾아봐도 주로 디자인 관련한 코드의 변경만이 나와있고, 실제 <object> 태그와 객체호출과 관련해서는 별 얘기가 없는거로 봐서 그냥 쓰면 되는것인지 알수가 없습니다.( 그냥 쓰면 될런지요? )

문제는 IE8의 "사이트별 ActiveX" 개념에서 원치 않은 동작이 일어날 것으로 생각이 됩니다.
기존 IE7 까지는 일부 PC에서 타사 ActiveX가 설치된 이후에 설치된 ActiveX가 실행되어야 하는 DHTML 다이얼로그에서 상단에 "실행시키겠냐.." 란 노란박스가 떠서 이 문제를 해결하기 위해, Broker 프로세스가 실행될 때 DHTML 페이지를 신뢰사이트로 추가하기 위해 "about:internet" 를 신뢰 사이트로 추가해주는 작업을 해주어서 해결을 하였었습니다.

하지만, IE8이 등장하면서 "이 사이트에서 해당 ActiveX를 실행시킬테냐.." 란 메시지가 뜨게 되므로, 현재 구조가 바로 적용이 되지는 않게 된 것입니다.

그래서, 타사의 ActiveX를 설치할 때 이 ActiveX 자체를 모든 사이트에서 실행되도록 바로 지정을 해주고 싶은데, 그 방법을 찾을 수가 없습니다.

이런 방법이 없다면 타사 ActiveX 설치창하고 실제 동작하는 DHTML 다이얼로그 사이에 창을 하나 더 둬서 "모든 사이트에서 실행"을 선택하도록 유도를 해야될거 같은데 이렇게 하면 좀 복잡해질거 같습니다..(정 방법이 없다면 이 방법을 쓸까 합니다.)

혹시 이런 방법은 없는것인지요?
조언을 부탁드립니다.
제가 어제 세미나 들은것과 이것저것 자료조사를 통해서 구상한게 위의 1,2,3 정도인데, 혹시 더 고려해야될 사항은 있는지도 조언 부탁드립니다.

김기용 드림.












[최초 등록일: ]
[최종 수정일: 3/12/2009]


비밀번호

댓글 작성자
 



2009-03-13 10시09분
사실, IE 관련한 것이 ^^ 직접 해봐야 "확실히" 답변할 수 있는 것들이 많죠. 일단 해보지는 않았지만 제가 알고 있는 지식내에서 답변 드리겠습니다.

1. 번은 2번째 세션에서 들으신 대로 하시면 되겠습니다. 세밀하게 기능을 쓰지 않은 한도 내에서는 아마도 많은 문제는 없을 거라 봅니다.

2. 예. 이 부분은 살펴 보셔야 하고요.

3. 이 부분이 테스트가 된 것인가요? 제 생각에는 관리 브로커 프로세스에서 임의로 설치하는 ActiveX에 대해서 사이트 전용으로할당되게 URL이 지정될 것 같지는 않은데요. 왜냐 하면 해당 브로커 프로세스에는 어떠한 URL정보도 없기 때문입니다.

4. 제가 아는 한, Object 와 호출/이벤트에 대해서는 바뀐 것이 없습니다. 따라서 기존 처럼 그냥 사용해도 되지 않을까 싶은데요. ^^





kevin25
2009-03-13 10시28분
[김기용] 답변 감사드립니다.
3번을 좀 상세히 설명드리면, 업데이트 프로그램(관리권한으로 실행됨)이 일반 파일은 서버로부터 다운받아서 적절한 위치에 복사/등록 하는 역할을 하고, ActiveX 설치는 특정한 형식( <object> 태그를 담고 있고, Object 객체 생성이 성공을 하면 Dhtml 다이얼로그에게 성공 이벤트를 날리는 구조 )을 갖는 페이지를 Dhtml Dialog에 띄우는 식으로 해서 Cab 설치를 하게 됩니다.
업데이트 프로그램에서는 ActiveX 설치페이지의 Url을 미리 알고 있는 것입니다.
그래서, ActiveX의 클래스아이디라든지 관련 정보를 알고 있는 상태이고, 관리자 권한으로 수행되고 있는 상태인데, 사람이 일일이 "전체 사이트에서 수행되도록 함" 이란것을 선택하지 않아도, 코드상으로 지정해줄수 있지 않을까 해서 조언을 구하고자 질문을 드렸습니다.
( 그러니까 제 ActiveX에서 타사의 ActiveX를 호출하는데, Dhtml Dialog 상에서 명령들이 일어나는데, 상단에 "전체 사이트에서 수행할래.." 란 원치 않은 동작이 일어나버리니까 해결방안을 찾고 있는 것입니다. )
다시한번 조언을 부탁드립니다.

김기용 드림.

 
[guest]
2009-03-13 11시11분
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Ext\Stats\...[CLSID]...\iexplore\AllowedDomains\*

위와 같은 키를 생성해 주시면 되겠습니다. (아마도 API상으로 지원이 될지는 모르겠지만. ^^)
kevin25
2009-03-13 12시25분
[김기용] 아 정말 감사합니다.
많은 도움을 받았습니다.
꾸벅..

[guest]

1  2  3  4  5  6  7  8  9  10  11  12  13  [14]  15  ...
NoWriterDateCnt.TitleFile(s)
5594mira...1/25/20224790안녕하세요 try~catch 와 SuspendLayout~ResumeLayout 간 호출 문의드립니다! [2]
5593C#스터디1/12/20225666TaskAwaiter 구현 질문 입니다. [1]
5591유지킴12/24/20215302outofmemory in 32bit [2]파일 다운로드1
5590kss12/23/20214742포인터 메모리 에러 [1]
5589초급12/22/20214941c# -> 라즈베리파이(db 접속)시 에러 발생 [7]
5588김지신12/21/20214879안녕하세요 String 변수 참조 주소 질문입니다. [2]
5587이완호12/17/20215974C# SharpDX 화면 캡쳐 관련해서 질문 드립니다. [1]
5586조미김12/16/20215184윈폼에서 메인 스레드와 UI 스레드의 차이점 질문드립니다 [4]
5585김준희12/16/20215968C# 윈폼 TCP/IP 데이터 연속으로 보낼때 [1]
5583난인간이다12/10/20214959.net 6 dynamic pgo 활성화 및 예상되는 문제 [1]
5582김준희12/9/202112352C# TCP/IP 통신시 연결 끊김 에러 [1]
5581김시준12/9/20215508닷넷에서 파일 delete 함수는 왜 비동기가 없는 것인가요? [2]
5580카짜프로...12/7/20216691패턴매칭 -튜퓰비교에 관한 오류사항과 궁금증 [1]파일 다운로드1
5579카짜프로...12/6/2021603011.12 메서드 중복정의에 대한 질문 [1]
5577감사합니...11/30/20215045visual studio 2015 update 3를 다운받을려고 하는데 x64/x86 차이점이 뭘까요? [2]
5576노홍구11/29/20214923C# 으로 USB 스캐너 프린터 리셋하기 입니다. [1]
5575베라11/23/20214968event handler 관련 문의 [2]
5574박원웅11/22/20215262닷넷 프레임워크 산출물의 배포시 해당 환경에 프레임워크 버전이 설치되어 있지 않는 경우를 고려한 배포방법은? [3]
5573mijin11/21/20215107System.NullReferenceException 에 대한 질문 [1]
5572김현진11/21/20215308C# list.Clear() 호출에 대한 문의 드립니다. [4]
5571한예지 donator11/18/20215241무설치 프로그램 원리가 궁금합니다. [2]
5570초보11/16/20215764주식데이터 초당 수신 건수를 구하고 있는데 처리속도가 느려서요 [2]
5569카짜프로...11/14/20216580381페이지 UTC에대한 언급이 그리니치 천문대 시간으로 되어있는게 맞나요? [1]
5568카짜프로...11/14/20216641그림 5.20, 그림 5.22 언급 오류 [1]
5567Edun11/2/20215569쿼리문을 코드로 어떻게 처리할 수 있을까요? [2]
5566민성10/26/20215401Linq에 관해서 [1]
1  2  3  4  5  6  7  8  9  10  11  12  13  [14]  15  ...