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)
5756흰털너부리11/25/20223628asp.net core web api에서 json 특정 property 무시하는 방법 문의 드립니다. System.Text.Json 사용중입니다. [1]
5755문정환11/24/20223913싱글스레드 프로그램도 컨텍스트 스위칭이 생길 수 있나요? [4]
5754초급11/24/20223801c# 소켓통신 [1]
5753흰털너부리11/24/20223598List와 ObservableCollection을 비교 해서 다른 값 추출 FirstOrDefault 객체 비교 [4]파일 다운로드1
5752푸헐11/15/20223749app.config 에 connectionStrings를 aspnet_regiis로 enctyption [4]
5751차가워11/8/20224519vs2022 preview net7 AOT 콘솔 실행 성능 [7]
5749차가워11/4/20223893전처리 지시문 #if DEBUG 배포시 실행 여부 [1]
5748김기헌11/3/20224215안녕하세요 선생님 싱글톤 패턴을 꼭 이렇게 사용해야 하나요? [6]
5747김기헌11/2/20223612안녕하세요 선생님 네트워크 관련 용어 중 IP 주소가 왜 논리적 주소라고 표현되는 건가요? [2]
5746물냉면이...11/2/20223778서로 다른 클래스에 있는 동일 함수의 일괄 호출 방법에 대해 궁금합니다. [3]
5745흰털너부리11/1/20224140.net core web api 사용 제한에 관한 질문 입니다. [2]
5744차가워10/31/20224519윈폼 Console.WriteLine(); 연산 문의 [1]
5743흰털너부리10/27/20223847reflection, static, override 질문입니다. [1]
5742차가워10/27/20223756하나의 socket에 여러 스레드가 접근 하는 경우 [1]
5741조호상10/27/20224014OpenCVSharp4 구현 가능 문의 [1]
5740혜성10/26/20224848Visual Studio 2022 C# 콘솔 프로그램 기본 코드 변경된 이유는 무엇인가요? [2]
5739슬픈단잠10/25/20223835조언 주신 방법으로 해봤으나, 여전히 어디가 문제인지 파악을 못했습니다. [2]
5738슬픈단잠10/24/20224205C# 마샬링 관련 질문입니다. [2]
5737감사합니...10/20/20224883찾은 어셈블리의 매니페스트 정의와 어셈블리 참조가 일치하지 않습니다. [8]파일 다운로드1
5736초보 개...10/19/20223877c# winforms 프로그램을 setup 파일로 배포 시, 설정 문의 [2]
5735농상10/17/20224534싱글톤 공부중 질문이 있습니다. [8]
5734mins10/14/20224258델파이 dll을 c#에서 사용하기 관련해서 포인트 관련이라 질문을 올립니다. [2]
5733김경환10/12/20224317선생님 질문하나만드리겠습니다. [1]
5732kss10/8/20224561c# socket.poll 버그인가요? [2]파일 다운로드1
5731kss10/8/20224129c# socket.poll 버그인가요? [3]
5730김재환10/7/20224656WPF에서 디스플레이 배율이 100%가 아닌 경우, Window의 포지션 정보가 부정확해지는 문제 [2]
1  2  3  4  5  6  7  [8]  9  10  11  12  13  14  15  ...