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)
5932EK4/12/2024529다음 제네릭에서 널익셉션이 뜨는 이유를 알수있을까요? [1]
5931이대희4/2/2024856Windows 앱 SDK C# 템플릿의 용도가 무엇인지요? [1]
5930vict...2/22/20241733ef core, FromSqlRaw 맵핑 질문입니다. [4]
5929a2/17/20241812.Net 8 에서 디버거 변경 [1]
5928vict...2/5/20241970wpf에서 대량 데이터 보여주는 방법 추천 부탁드립니다. [1]
5926엄태영1/12/20241957잘못된 Task 사용으로 인한 데드락 관련 질문 입니다. [3]
5925Euni...12/22/20231892Visual Studio에서 nodejs 사용시 npm install -g @vue/cli 실행시 오류 [1]
5924Euni...12/21/20231961Visual Studio에서 nodejs 사용시 C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules\npm\bin\npm-cli.js" prefix -g 를 찾지 못하는 설치 오류 [2]
5923정두호12/4/20232417MSSQL 데이터 전송과 공유폴더의 데이터 전송 차이점 [1]
5922Heeg...10/27/20234627C++의 double pointer를 C#에서 구현하는 방법이 잘 안됩니다. [3]
5921한예지 donator10/3/20234416마샬링 정의 및 목적이 궁금합니다. [5]
5920한예지 donator10/3/20233246C#과 WIN32 API 관계 질문드립니다. [4]
5919이건우9/27/20232935WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/20233021동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/20233184Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/20233082비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/20232925.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/20233008지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/20235284[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/20233522Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/20233372Async 메서드와 try~catch [1]
5909guest4/22/20233765Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/20233629텅빈 원그리기 [5]
5907민성4/21/20233255안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/20233385Dispatcher 서비스 구현 질문 [1]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...