Microsoft MVP성태의 닷넷 이야기
글쓴 사람
김영대
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

안녕하십니까 정성태님 죄송하지만 SmartClient 에 관한 질문이 있습니다.

작은 인트라넷에 개발 및 유지보수를 하다보니

C++ 의 지식이 없어 ActiveX를 개발 하지 못해

SmartClient의 도움을 받고 유용하게 클라이언트 부분을 제어 하고 있씁니다.

문제는 클라이언트의 .NET Framework 4.5.1 이상 도입시 클라이언트에서는 동작을 하지 않고

64비트의 Windows 7 운영체제인 클라이언트에서 동작을 하지 않았습니다.
(Code Access Security 부분 설정 확인 하였습니다.)

Registry 를 EnableIEHosting 의 Dword 값을 1로 설정해줘도 마찬가지이고

제 자신의 생각으로는 SmartClient때문에 클라이언트의 Framework를 3.5.1 이상에서 업데이트를 하지 않는 것도 추후 방향으로 보았을때 좋은 방법이 아닌것 같습니다 ㅠㅠ

죄송하지만 인트라넷 웹사이트를 ActiveX기반으로 계속 인트라넷 운영을 고집한다고 하면 제가 SmartClient를 가장 빠르게 대처할 수 있는 방안이 어떤것인지 충고와 질타를 해주셨으면 감사하겠습니다.

제가 생각한 방안은 (?)
1. 처음부터 차근차근 ActiveX 개발을 위해 C++ 을 배운다 ( 시간오래걸릴거같습니다 ㅠㅠ)
2. C# 을 이용한 ActiveX 개발 방법을 참조한다 . ( 직접 해보지는 않았습니다. 해당 방안으로 .Net Framework 4.5 이상에서 동작하는지는 모르겠습니다.)



[연관 글]






[최초 등록일: ]
[최종 수정일: 7/3/2014]


비밀번호

댓글 작성자
 



2014-07-03 03시27분
제 질문게시판의 "질문하시기 전에!" 글에 스마트 클라이언트 관련한 질문을 삭제한다는 데에는 이유가 있습니다. 예를 들어 위의 질문에서 "동작을 하지 않았습니다."라고는 하지만 그게 보안에 위배된 부분만 동작을 안한다는 것인지, 아예 활성화가 안되었다는 것인지... 다시 한번 물어봐야 합니다.

그리곤, 저도 동일하게 재현을 위해 환경 구성을 해야 하는데 이것이 질문하신 분과 100% 동일하지 않게 되는 경우가 많습니다. 왜냐하면 서로 환경이 틀리고 질문하신 분의 특정한 환경 구성을 빼놓고 묻기 때문입니다.

암튼, ^^;;; 복잡 다단한 부분이 있어서 제가 회피하는 것입니다.

일단, 제가 잠시 해본바에 의하면 EnableIEHosting을 설정하면 IE에서 정상적으로 스마트 클라이언트가 보이기는 합니다. 그 이상은 테스트 안해봤습니다. 64비트라고 하셨는데 혹시 아래의 문제가 아닌지 한번 확인해 보세요.

SmartClient Vista 64bit IE7
; http://www.sysnet.pe.kr/3/0/810

또는 64비트이기 때문에 EnableIEHosting 값도 64비트에 맞게 설정이 되었는지 확인해 보세요. (예를 들어, 64비트 윈도우 7의 IE 32비트에서 활성화하는 경우라면 Wow6432Node에 설정해야 합니다.)

참고로, 제가 해본바에 의하면 닷넷 프레임워크를 업데이트 하셔도 됩니다.

------------------------------

주의하실 것은, 어쩌면 제가 더 모를 수도 있다는 점을 아셔야 합니다. 저도 ^^;;; 스마트 클라이언트 안 만져 본지 꽤나 오래되었습니다.

------------------------------

1. ActiveX 개발을 위한다기 보다는 그냥 C++을 배워두시는 것은 꼭 도움이 될 것이므로 주저없이 배우시기를 바랍니다.
2. C#을 이용한 ActiveX개발도 결국 IE SmartClient와 다를 바가 없습니다.


정성태
2014-07-03 06시01분
아래의 글에 제가 테스트 한 것을 정리해 보았습니다. 참고하시고 혹시 문제를 찾으시면 댓글 좀 부탁드립니다. ^^

.NET SmartClient 컨트롤을 윈도우 8/2012에서 활성화하는 방법
; http://www.sysnet.pe.kr/2/0/1706
정성태
2014-07-04 01시29분
[김영대] 정말 감사드립니다 정성태님 열심히 공부해보겠습니다.

어제 무슨 용기인지 저 자신도 모르게 서점에가서 C++ 기초서적을 찾아 구매했습니다. -0-
[guest]
2014-07-04 01시43분
[김영대] 명쾌한 해결 방안 제시해 주셔서 정말 감사드립니다.


http://www.sysnet.pe.kr/3/0/810을 참조하여

CAS 설정이 64 bit Framework에만 적용된다는걸 확인했습니다.


정말 감사드립니다
[guest]
2014-07-04 01시45분
[김영대] CAS 설정 배포 모듈도 any cpu가 아닌 32bit로 설정해봐야겠습니다 감사드립니다.
[guest]
2014-07-04 05시12분
[김영대] 감사드립니다 정성태님 정리 해 봅니다.

제시해주신 방법으로 모두 시원하게 해결 되었습니다.


1. 프레임워크 4.5.1 이상으로 업데이트 완료

2. CAS 설정 배포시 클라이언트가 64비트인데 32비트 브라우저일경우 설정 배포 모듈을 any cpu가 아닌 x86으로 빌드
( 또는 C:\windows\Microsoft.Net\Framework\v2.0.50727 caspol로 등록 )

3.
레지스트리 등록
64비트일경우
regedit HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MicoroSoft\.NETFramework\
값 생성 Dword 형식 (32비트) EnableIEHosting : 1


32비트일 경우
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
값 생성 Dword 형식 (32비트) EnableIEHosting : 1


4. IE(Internet Explorer ) 에서 해당 Trust 영역 신뢰 할 수 있는 사이트 등록


[guest]
2014-07-04 01시13분
좋은 소식이군요. ^^ 프로젝트 잘 끝마치시길 바랍니다.
정성태
2015-09-23 07시08분
[방양희] 안녕하세요
아래 내용을 닷넷으로 구현하면 실행을 관리자권한으로 해야 하던데 일반모드로 실행해도 되는 방법 있는지요?
--------------------------------------------------------------------------------------------
레지스트리 등록
64비트일경우
regedit HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MicoroSoft\.NETFramework\
값 생성 Dword 형식 (32비트) EnableIEHosting : 1
 

32비트일 경우
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
 값 생성 Dword 형식 (32비트) EnableIEHosting : 1
[guest]
2015-09-23 07시19분
@방양희 없습니다.
정성태

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