Visual C++ 8.0의 ATL 프로젝트를 이용하여 간단히 통신 컴포넌트를 제작해 보았다. 여러 가지를 배울 수 있었는데 무엇보다도 ATL 프로젝트에서 발생하기 쉬운 여러가지 미궁들에 대한 정확한 해답을 배웠다는 점이다. 그리고 ATL과 Visual C++ 컴파일러가 제공하는 "특성" 프로그래밍의 덕을 톡톡히 봤다.
하지만 Visual C++ 8.0이기 때문에 치루어야 했던 문제가 하나 있다. 바로 Visual C++ 8.0 Runtime Distribution을 반드시 고객 PC에 설치해야 한다는 엄청난 문제이다. 응용프로그램과 Visual C++ 런타임 버전을 서로 격리하기 위한 목적으로 Native Assembly Cache가 필요했고 그에 따라 별도의 Distribution Pack을 이용하여 캐쉬를 구성해야 했다는 것은 분명히 납득할만한 설명이지만 이건 .NET Framework 2.0을 설치하는 것과 전혀 다르지 않은 양상이다. 물론, Windows Installer로 포장을 해도 간단히 감추어지고 .NET Framework 2.0 전체를 다 설치하는것보다는 상황이 좋지만 원래 Visual C++ 프로그램이 가졌던 고유의 장점이 일시에 물거품이 되버린 셈이다.
내가 원하는 환경을 사용할 수 있으면서도 이런 문제를 피해가기 위해서는 아무래도 VIsual C++ 7.1 버전을 이용하는 것이 바람직할 것으로 보인다.
하지만 Visual C++ 8.0이기 때문에 치루어야 했던 문제가 하나 있다. 바로 Visual C++ 8.0 Runtime Distribution을 반드시 고객 PC에 설치해야 한다는 엄청난 문제이다. 응용프로그램과 Visual C++ 런타임 버전을 서로 격리하기 위한 목적으로 Native Assembly Cache가 필요했고 그에 따라 별도의 Distribution Pack을 이용하여 캐쉬를 구성해야 했다는 것은 분명히 납득할만한 설명이지만 이건 .NET Framework 2.0을 설치하는 것과 전혀 다르지 않은 양상이다. 물론, Windows Installer로 포장을 해도 간단히 감추어지고 .NET Framework 2.0 전체를 다 설치하는것보다는 상황이 좋지만 원래 Visual C++ 프로그램이 가졌던 고유의 장점이 일시에 물거품이 되버린 셈이다.
내가 원하는 환경을 사용할 수 있으면서도 이런 문제를 피해가기 위해서는 아무래도 VIsual C++ 7.1 버전을 이용하는 것이 바람직할 것으로 보인다.
TAGS .NET Framework 2.0,
C++,
rkttu,
rkttu.com,
Visual C++,
Visual C++ .NET,
Visual C++ 2005,
VIsual C++ 7.1,
Visual C++ 8.0,
Windows Installer,
WinSxS,
남정현






당신의 의견을 작성해 주세요.