Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- API
- EUC-KR
- Antialiasing
- php
- VS2008
- PDA
- 와이브로
- phpmailer
- 블루투스 헤드셋
- C/C++
- .net
- 크래시로그
- C#
- docker
- 한 번만 실행
- 자바스크립트
- 데이터 전달
- self-signed ssl
- GDI
- protobuf-c
- 설치제거
- M8200
- Font
- 기념일관리
- ClickOnce
- JavaScript
- plcrashreporter
- crashlog
- net
- MFC
Archives
- Today
- Total
~☆~ 우하하!!~ 개발블로그
Visual C++ 2008 RunTime Library 재배포 가능 패키지 차이 본문
728x90
반응형
Visual Studio 2008로 개발한 Visual C++ DLL 모듈을 C#의 ClickOnce 배포 방법에 의해서 배포하는 프로젝트를 개발중이다.
Visual C++ DLL 모듈이 mfc90u.dll 을 필요로 하므로 이 프로젝트가 대상 시스템에서 실행될 수 있게 하기 위해서는 Visual C++ Run Time Library 가 ClickOnce 설치시 함께 설치되어야 한다.
그런데!!!
Visual Studio 2008이 설치된 나의 개발 PC에 Visual C++ 런타임 라이브러리 배포를 포함한 프로젝트를 설치하였더니 Visual Studio 2008이 실행될 때 다음과 같은 에러가 발생하였다.
난감함...
프로그램 추가/제거를 확인해 보니 시스템에 설치되어 있는 Visual C++ 2008(9.0) Run Time Library 가 두 가지 버전이다.
동일한 9.0대 버전이지만 빌드번호가 상이하다.
이 둘 중에서 내가 만든 배포 프로그램이 설치한 Visual C++ RunTime Library 는 9.0.30304(크기 : 11.74MB) 이다.
어찌된 영문인지...
내가 만들어서 배포한 프로그램인데 내 시스템에 설치되면 내 프로그램을 사용 불가능하게 만들다니...
게다가 상위 버전인데...
지금부터 그 차이의 원인을 밝혀나가보도록 하겠다.
우선 내 시스템은 개발용 시스템이다.
개발용 도구로서 Visual Studio 2008이 설치되어 있다.
내가 배포한 프로그램을 설치할 때 함께 설치되는 Visual C++ RunTime Library 가 설치된 이후와 이전의 파일들을 비교해 보았더니 다음과 같이 6개 파일이 차이가 났다.
그렇다면 이번에는 마이크로소프트 다운로드 사이트에서 내려받은 Visual C++ RunTime Library 재배포 패키지를 설치해보자.
내려받은 파일은 vcredist_x86.exe 이고, 크기는 1.67MB. 파일의 등록정보를 보니 버전이 9.0.21022.8 로 되어 있다.
다시 말해서 내가 만든 배포 프로젝트에 포함시킨 버전과 다르다.
이 파일을 실행시켜서 시스템에 설치한 후 프로그램 추가/제거 를 살펴보니 다음과 같이 세 가지 항목이 보였다.
이번에 새로 설치한 9.0.21022 버전의 Visual C++ RunTime Library 의 설치된 크기는 5.21MB이다.
이 상태에서 다시 Visual Studio 2008을 실행시켜보았더니 잘 실행된다.
바로 직전 상태의 WinSxS 폴더와 어떤 차이가 있을까?
그럼 이번에는 내 배포 프로그램을 설치하기 이전과 비교해 보았다.
결론...
Visual Studio 2008에서 ClickOnce 배포 방법을 통해서 배포할 때 Visual C++ 런타임 라이브러리는 구성 요소 공급업체의 웹사이트에서 다운로드하여 설치하도록 해야 한다는 것!!
위와 같이 했는데도 vcredist_x86.exe 는 문제있는 파일이 게시가 된다.
그래서 마이크로소프트 사이트에서 다운로드받은 파일을 게시 폴더에 덮어쓰기해 두는 방법으로 해결하였다.
Visual C++ DLL 모듈이 mfc90u.dll 을 필요로 하므로 이 프로젝트가 대상 시스템에서 실행될 수 있게 하기 위해서는 Visual C++ Run Time Library 가 ClickOnce 설치시 함께 설치되어야 한다.
그런데!!!
Visual Studio 2008이 설치된 나의 개발 PC에 Visual C++ 런타임 라이브러리 배포를 포함한 프로젝트를 설치하였더니 Visual Studio 2008이 실행될 때 다음과 같은 에러가 발생하였다.
난감함...
프로그램 추가/제거를 확인해 보니 시스템에 설치되어 있는 Visual C++ 2008(9.0) Run Time Library 가 두 가지 버전이다.
동일한 9.0대 버전이지만 빌드번호가 상이하다.
이 둘 중에서 내가 만든 배포 프로그램이 설치한 Visual C++ RunTime Library 는 9.0.30304(크기 : 11.74MB) 이다.
어찌된 영문인지...
내가 만들어서 배포한 프로그램인데 내 시스템에 설치되면 내 프로그램을 사용 불가능하게 만들다니...
게다가 상위 버전인데...
지금부터 그 차이의 원인을 밝혀나가보도록 하겠다.
우선 내 시스템은 개발용 시스템이다.
개발용 도구로서 Visual Studio 2008이 설치되어 있다.
내가 배포한 프로그램을 설치할 때 함께 설치되는 Visual C++ RunTime Library 가 설치된 이후와 이전의 파일들을 비교해 보았더니 다음과 같이 6개 파일이 차이가 났다.
그렇다면 이번에는 마이크로소프트 다운로드 사이트에서 내려받은 Visual C++ RunTime Library 재배포 패키지를 설치해보자.
내려받은 파일은 vcredist_x86.exe 이고, 크기는 1.67MB. 파일의 등록정보를 보니 버전이 9.0.21022.8 로 되어 있다.
다시 말해서 내가 만든 배포 프로젝트에 포함시킨 버전과 다르다.
이 파일을 실행시켜서 시스템에 설치한 후 프로그램 추가/제거 를 살펴보니 다음과 같이 세 가지 항목이 보였다.
이번에 새로 설치한 9.0.21022 버전의 Visual C++ RunTime Library 의 설치된 크기는 5.21MB이다.
이 상태에서 다시 Visual Studio 2008을 실행시켜보았더니 잘 실행된다.
바로 직전 상태의 WinSxS 폴더와 어떤 차이가 있을까?
그럼 이번에는 내 배포 프로그램을 설치하기 이전과 비교해 보았다.
결론...
Visual Studio 2008에서 ClickOnce 배포 방법을 통해서 배포할 때 Visual C++ 런타임 라이브러리는 구성 요소 공급업체의 웹사이트에서 다운로드하여 설치하도록 해야 한다는 것!!
위와 같이 했는데도 vcredist_x86.exe 는 문제있는 파일이 게시가 된다.
그래서 마이크로소프트 사이트에서 다운로드받은 파일을 게시 폴더에 덮어쓰기해 두는 방법으로 해결하였다.
반응형
'개발환경' 카테고리의 다른 글
[개발용 유틸] WndTabs for Visual C++ (Visual Studio 6.0) (0) | 2008.10.22 |
---|---|
소스세이프에 기존 프로젝트 등록하는 방법(VS6, VS2008) (0) | 2008.10.15 |
단위 변환 URL (0) | 2008.10.09 |
어도비 포토샵 이야기 (0) | 2008.07.26 |
MSDN Subscriptions 라이센스에 대해서 (0) | 2008.07.15 |