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

... 31  32  33  34  35  36  37  38  39  40  [41]  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4825플메4/10/201710369덱스트 업로드 하는데 구성요소 서비스에 엑셀이 안뜨네요..ㅜㅜ [1]파일 다운로드1
4824김상경4/9/20179759win7에서 vb6.0을 이용해서 프로그램을 만들었습니다.(제가 만든건 아니고 옆 동료가 만들었습니다.) [1]파일 다운로드1
4823조상현3/28/201710791windows event log 에 대한 정보는 어디서 얻을 수 있을까요? [1]
4822부우3/24/201712442글수정이 안되어 다시올려드립니다ㅠ [12]파일 다운로드2
4821부우3/22/201726047파일이나 어셈블리 중 하나를 로드에러 좀 봐주세요 [9]파일 다운로드1
4820듀이3/20/201710864오차 없이 동시에 명령을 보내게 가능한가요? [2]파일 다운로드1
4819popo3/20/201712222C# sslstream 사용시 Cipher List 설정 [3]
4818부우3/16/201721072DllImport 사용시 진입점을 찾을수 없습니다 [2]
4817yun3/15/201710441서피스프로4의 HYPER-V로 윈도우7을 깔았는데... [1]
4816부우3/15/201713186C++ DLL함수 사용 질문드립니다 [10]
4815김지용3/14/20179241.net core linux 오류 [2]
4814김솔지3/13/201710314인쇄 시 , 출력화면을 이미지 파일로 저장하고 싶습니다. [1]파일 다운로드1
4813spow...3/8/201711861멀티 스레드 환경에서 처리하여야 할 목록을 효율적으로 사용하는 기법 질문 드립니다 [2]
4812popo2/23/201711926.NET Window ClassName 변경 질문 드립니다. [1]
4809힘찬도약2/15/201714987C# 가상 시리얼 [4]
4808이길용2/9/201713733WCF 외부 접속 관련해서 질문드립니다ㅠ [1]
4807헬조선식...2/8/201720305WPF의 속도에 대해서 궁금합니다. [3]
4803헬조선식...2/7/201713735WPF로 메신져 메세지 박스 구현 문의 [2]
4802spow...2/6/201710772특정 범위의 값을 다른 값으로 치환하는 메소드를 만들어야 할 때 가장 빠른 방법은? [7]
4804spow...2/7/201710639    답변글 [답변]: 특정 범위의 값을 다른 값으로 치환하는 메소드를 만들어야 할 때 가장 빠른 방법은?
4805spow...2/7/201710323    답변글 [답변]: 특정 범위의 값을 다른 값으로 치환하는 메소드를 만들어야 할 때 가장 빠른 방법은? (글삭제가 안돼 재첨부합니다)파일 다운로드1
4801spow...2/3/201710192C#의 참조 동작관련하여 아이디어 문의 드립니다 [4]
4800오세운2/1/201714262C# 에서 C++ DLL임포트 질문입니다. [2]
4798guest1/29/201711622picturebox의 image.dispose [1]
4797김철환1/13/201711554책에 관한 질문입니다 [3]
4796Bere...1/13/201711682++ 후위연산자와 = 을 함께 사용할 때 생성되는 IL 코드 관련... [2]
... 31  32  33  34  35  36  37  38  39  40  [41]  42  43  44  45  ...