NeoZest 눈큰아이입니다.
VC++ 2005(8.0)으로 개발한 프로그램을 배포할 때 주의사항이 있습니다.
그중 하나가 VC++ 2005 Runtime Library인데, 이놈이 개발툴 이전에 나온 운영체제에서는 설치가 안되어있습니다.
그럼 어떻게 해야 하느냐? 마이크로소프트사에서 VC++ 2005 Runtime Library Redistribuable Package를 배포하고 있습니다.
이를 먼저 설치해야 합니다.
사용자에게 이 모듈을 직접 설치하라고 하면 좀 그렇죠?
그래서 인스톨러는 이 모듈이 설치되어있는지를 확인하고, 설치되어있지 않다면 먼저 이 패키지를 설치하는 과정을 거쳐야 합니다.
그럼 인스톨러입장에서 관건이 되는 것은 이 모듈이 설치되어 있는지 없는지를 어떻게 알아내느냐 하는 것이겠지요.
방법은 간단합니다.
레지스트리 값을 읽어보면 됩니다. 어떤 레지스트리 값이냐구요? 이게 플랫폼과 버전별로 차이가 있습니다.
기본 경로는 "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"입니다.
이 경로 아래에 다음과 같은 키 값이 있는지 없는지를 확인해 보면 됩니다.
* VC++ 2005
* x64: 6e8e85e8-ce4b-4ff5-91f7-04999c9fae6a
* ia64: 03ed71ea-f531-4927-aabd-1c31bce8e187
* VC++ 2005 + SP1
* x64: 071c9b48-7c32-4621-a0ac-3f809523288f
* ia64: 0f8fb34e-675e-42ed-850b-29d98c2ece08
참 쉽죠?
그러나 막상 현업에서 꼼꼼하게 이를 처리하기는 어렵답니다.
우리회사에서 만든 컴포넌트 하나도 매번 설치할때마다 Runtime을 계속 설치하더라구요. :)
아..플랫폼을 어떻게 식별하느냐구요? 이것은 숙제로 내죠.. :) 다음 포스트에 공개하겠습니다.
'2.1 기본' 카테고리의 다른 글
| 코드에서 엔디안을 감지하는 방법 (0) | 2009/01/02 |
|---|---|
| apache2에서AddDefaultCharset옵션 (0) | 2008/12/27 |
| VC2005로 개발한 프로그램 배포시 유의할 점 (0) | 2008/12/15 |
| 하둡 커뮤니티가 주최하는 하둡 튜토리얼 워크샵 (0) | 2008/11/19 |
| 썬 테크데이 2008과 X Media Lab (0) | 2008/09/18 |
| 오늘부터 사내에서 FLEX에 대한 세미나를 시작합니다. (2) | 2008/07/11 |

