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분
@방양희 없습니다.
정성태

1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5832김지우2/21/20232948event와 delegate의 차이 , event를 써야하는 이유 [1]
5831이우람2/20/20233179ref 전역변수가 pinned가 될수 있나요? [2]
5830냉수마찰2/19/20233467C# GridView에 Column별 데이터 추가하는 방법에 대해 [1]
5829수박942/19/20233466키움 API를 윈폼과 WPF의 네임스페이스 없이 콘솔이나 WinUI3에서 사용할 수 있는 방법이 있나요? [2]파일 다운로드1
5828김재영2/19/20233259장기적으로는 this 구문을 안쓰는게 맞을까요? [2]
5827lee2/18/20233178파이썬 설치 오류 질문입니다 [1]
5826Syong2/14/20233770Socket 관련 Leak (OverlappedAsyncResult, OverlappedData) 관련 문의 [7]파일 다운로드1
5825박성원2/14/20233335Listview 컨트롤의 화면 전환 시 갱신 속도 [1]
5823검은콩2/13/20233933catch(Exception ex)의 line번호를 쉽게 알 수 없는지요? [7]
5822김지우2/11/20233178책을 보면서 sync, async 이해가 되지 않는 부분이 있습니다. [5]파일 다운로드2
5821검은콩2/9/20233211Async 신뢰성과 소켓데이터 [4]
5820차가워2/8/20233299다른 프로세스 실행 후 포커스 가져오기 [3]
5819취준생2/7/20233408WPF 관련 실무가 궁금합니다. [3]
5818윤길2/7/20232849ObservableCollection 에서 INotifyPropertyChanged 구현해야하나요? [2]
5817흰털너부리2/7/20232994배포 시 winform 실행 콘솔로그 보는 방법 [1]
5816흰털너부리2/6/20232816.net core json array validation 질문 드립니다. [1]
5815김재영2/6/20232923종단간 암호화에 대해 시나리오인데 타당한 시나리오일까요? [2]
5814한예지 donator2/6/20233291decompile? [9]
5813김재영2/5/20233180openssl genrsa 2048시 키 생성이 다르게 됩니다. - 파일첨부 [4]파일 다운로드1
5812김재영2/5/20233430openssl genrsa 2048시 키 생성이 다르게 됩니다. [2]
5811치르바2/3/20233272MiniDumpWriteDump API로 덤프수집을 했는데요.. [3]
5810이건우1/31/20233376윈도우서비스를 통한 웹통신관련 질문입니다 [3]
5809이상훈1/31/20233823다채널 영상 디스플레이어 개발 관련 질문입니다. [3]
5808근우1/30/20233466WPF 에서 UserControl 과 ControlTemplate 의 차이점은 무엇인가요? [6]
5807궁금맨1/28/20234646C# 10 책에 나온 예제의 결과가 제 컴에서는 좀 달라서요. 이유가 궁금합니다. [1]
5806스레드1/25/20233164총정리 - 다양한 스레드들 [초안] [1]파일 다운로드1
1  2  3  4  [5]  6  7  8  9  10  11  12  13  14  15  ...