Windows 7의 호환성을 확보하라! ACT(Application Compatibility Toolkit) 5.5 관련 내용 및 4월 28일 Evangelist 세미나 발표 자료

Windows7_h_rgb

지난 4월 28일에 세미나를 진행하였는데.. 이제서야 관련 링크 및 발표 자료를 올리네요. 현재 꼬알라는 TechED 2009 참석차 미국에 와있습니다. 세미나 종료 후, Windows 7 RCWindows Virtual PC 발표.. 그리고 한글판에 관련된 여러 이야기들을 다루느라, 세미나 자료 포스팅이 늦었습니다.

4월 28일에 에반젤리스트 팀에서 진행한 Application Compatibility Toolkit(ACT) 5.5 세미나에 대략 15분 정도가 참석하였습니다. Windows 7 호환성 확보를 위한 첫번째 세미나에서는 Windows XP에선 잘 동작하는 프로그램이었지만, Windows Vista, Windows 7에서 정상적으로 동작하지 않는 응용 프로그램이 어디에 문제가 있고 어디에서 이를 해결해야 하는지를 살펴볼 수 있는 CA(Compatibility Administrator)와 SUA(Standard User Analyzer)를 살펴보았습니다. 그리고 Windows Vista 시절부터 강화된 보안 기술인 UAC(User Account Control), 또한 각 프로세스별로 부여된 IL(Integrity Level)이 어떻게 운영 체제 동작을 처리하는지도 살펴보았죠.

사실 이날 세미나의 핵심은 전반적인 Windows Vista 이후 Microsoft의 플랫폼이 어떻게 동작하고 있고, 어떻게 나아갈 것인지를 살펴보고, 이에 대한 응용 프로그램 개발 방향의 모티브를 드릴려고 하였습니다. 또한 현재 소스 레벨의 수정이 불가능한 응용 프로그램의 경우, ACT 도구의 SHIM을 이용하여, Workaround할 수 있는 방안도 살펴보면 좋겠다고도 전달해드렸죠.

image

Windows에서 SHIM은 응용 프로그램과 Windows 플랫폼 사이에 존재하여, Windows나 응용 프로그램이 상호 호환되지 않는 호출이나 기능을 사용할 경우, 이를 대신 처리 혹은 리디렉션(Redirection)시켜 상호간의 동작이 문제없게 만들어주는 중간자 역할을 하게 됩니다. 결국 SHIM은 응용 프로그램과 Windows 플랫폼 사이에 위치한 얇은 레이어(Layer)라고 생각하시면 되죠.

관련된 호환성 SHIM 데이터 및 프로그램 호환성 관리자의 데이터는 사용자의 레지스트리에 저장되어, 사용자가 차후 해당 응용 프로그램 사용시에 다시 SHIM이 로딩되어 정상 동작하게 해줍니다.

image image

ACT내 Standard User Analyzer에서 보고된 특정 API의 문제는 Microsoft.com 사이트에서 검색해보시면 여기와 같은 형태로 제공되며, 간단한 해결 방안도 제시됩니다.

커널 레벨이 아닌 플랫폼의 사용자 레벨에서 호환성이 문제가 되는 대부분의 케이스는 쉽게는 관리자 권한으로 실행 or ACT를 활용한 SHIM 제작만으로도 Windows 7 호환성을 확보하실 수 있습니다. 이상적으로는 당연히 응용 프로그램을 Windows 7, Vista 플랫폼에 맞는 기능과 보안 레벨도 개발하시는 것이 새로운 플랫폼의 보안 및 기술을 백분 활용하는 것이겠죠.

ACT와 관련된 자료 링크와 세미나 발표 자료 링크는 아래와 같습니다. 특히 ACT HOL은 주옥같은 내용이 포함되어져 있으니, Windows 7을 설치하신 분들께서는 한번 시간나실때 해보시면 재미있기도 하며, 도움이 많이 되실거라 생각합니다.

앞으로도 제가 속한 팀, 그리고 Microsoft는 Windows 7 생태계 확보에 많은 노력을 할 것입니다. 관련된 정보는 제 블로그나 에반젤리스트 팀 블로그를 자주 살펴봐주세요!