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]

... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5485이재원4/17/20216617교재 315페이지 내용 질문 [3]
5484Syong4/16/202110136윈폼 기반의 응용프로그램 dll 참조와 32,64bit 빌드 관련 문의 [4]
5483한예지 donator4/15/20215713익명 형식과 var 관계 질문 있습니다. [2]
5482질문4/13/20217479WPF를 위한 MVVM toolkit 선택과 관련한 문의드립니다. [4]
5480한예지 donator4/5/20217783GetHashCode 질문있습니다! [2]
5479한예지 donator4/4/20216917Equals를 닷넷에서 어떻게 구현했는지 보고 싶을 떄는 어떻게 해야 될까요? [2]
5478갑자기C#3/23/20219410C# Winform에서 TextBox없이 입력 받을 수 있나요? [7]
5477달팽이3/18/20216346c# 도형을 그린후 편집하는 방법이 궁금합니다. [2]파일 다운로드1
5475dimo...3/2/20217269POH가 .NET 5에 추가된 것으로 알고 있습니다. POH가 유용한 경우는 어떤 경우가 있을까요? [1]
5474Syong2/26/20216783사용자 지정 컨트롤 생성시 Invalidate, Update, Refresh의 차이점 [2]
5473한예지 donator2/25/20216670디자인 타임이 뭔지 궁금합니다!! [5]
5472dimo...2/24/20217459등록하지 않고 ocx를 사용하는 `키움`관련 포스팅을 따라가다 질문드립니다. [9]
5471남산2/21/20216156MarshalDirectiveException 에 대한 질문입니다. [1]
5470한예지 donator2/7/20216074yield 질문있습니다!! [2]
5469유호성2/6/20215639Parallel + Task.Run 동시 실행 환경에서 간헐적으로 Task.Run()에서 null이 리턴됩니다. [3]파일 다운로드1
5467hero...2/4/20215992실행 환경에 따른 Thread.Sleep 딜레이 차이 질문 [8]
5466pr1/29/20215880c# winform load시 작업표시줄에 뜨지 않는 현상을 겪으신적이 있으신가요? [4]파일 다운로드1
5465영귤1/28/20216253두 번째 await 부터는 스레드 개수만 늘어나는 것이 아닌가요 [1]
5464민우1/26/20216539C# 빌드시 코드 치환되는걸 확인하는 방법 문의 [2]
5463한예지 donator1/24/20217266Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [2]
5462C#초보1/22/20217542사용자 정의 메시지 전달이 가능한가요? [2]
5461한예지 donator1/22/20216938AsEnumerable() 메서드 질문 있습니다! [2]
5459한예지 donator1/21/20216256typeof와 GetType의 차이점 질문있습니다. [2]
5458진우1/20/20217159C# DataTable 에 SQL 쿼리문을 실행하는 방법 문의 (LINQ 사용하지 않고) [6]
5456성민1/17/202175619.0 출간 계획이 있으신가요? [2]
5455한예지 donator1/16/20216628교재 194페이지 콜백메서드 질문 있습니다! [5]
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...