본문 바로가기
VisualStudio.C++.C#

Visual Studio 2015 VC++ 배포시. Universal CRT(C RuntTme) 라이브러리 배포 방법.

by 리치굿맨 2015. 12. 12.

 

 

CRT 배포 요약.- Visual Studio 2015. VC++ 버전14.

 

Visual Studio 2015에 포함된 Visual C++ (버전14)에서 제작된 응용프로그램 배포시,  Universal CRT(C RunTime )라이브러리가 실행될 컴퓨터에 있어야 응용프로그램이 정상 실행된다.


Win10 에는 Universal CRT가 기본 설치되어있기때문에 별도 설치가 필요없다. win7,8,8.1 의 컴퓨터에 Universal CRT 라이브러리파일이 없다면 아래 3가지 방식 중 하나를 이용하여 VS2015의 VC++로 제작된 응용프로그램 정상실행가능하다.


용어 : Universal CRT

- Visual Studio 2015 의 VC++(버전14)부터 등장. 이전의 Visual C++ 6.0, 2010,.. 등에서의 MSVCRxx.dll 같은 것.

- Windows10  운영체제에는 기본 설치되어있음.

 

1." Visual Studio 2015용 Visual C++ 재배포 가능 패키지" 설치.

- 가장 깔끔한 해결책.

이를 달성하는 방법에서 사용자에게 "Visual C++ 2015 재배포패키지 설치하시오 " 라고 하면서 사용자로 하여금 MS사이트 방문해서 검색해서 찾고 설치하고 ... <- 이런 식으로 하면 안되는건 자명함.

- 우리가 배포할 응용프로그램에서  "Visual C++ 2015 재배포패키지 설치" 까지도 자동으로 완료 되도록 해야함.


2.statically linking. 

- 프로젝트에서 라이브러리를 포함시켜버리는것.

 

3.로컬배포가능.

- 응용프로그램 실행파일이 있는 동일폴더에 Universal CRT 배치해둬도 정상실행된다. 

Universal CRT 파일들 있는 경로 C:\Program Files (x86)\Windows Kits\10\Redist\ucrt 에서 Universal CRT 파일 입수 가능하다.

Windows Kits\10 폴더는 Windows 10 SDK 설치되는 폴더이며, Windows 10 SDK 설치하지 않고  VS2015 만  설치해도  위 경로와 파일들이 만들어진다.



Windows 10 SDK 를 설치하면 VS2015 설치시 설치된 것외에 추가의 것들이 동일 폴더에 추가된다.

상세보기:  Windows10 SDK 설치방법 -> http://igotit.tistory.com/535


Windows 10 SDK 설치후의 Windows Kits/10 폴더 구성.

붉박 : Windows10 SDK 전체폴더들.

파박 : Universal CRT 파일들. 총용량 5MByte

녹박 : x86 폴더에 있는 Universal CRT 파일들. 총파일용량 : 1.7MByte.


 

Universal CRT 관련 상세정보 더보기 -> http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx

 

 

 

 

시험결과-1

 
 
Win7 환경에서 "VC++2015 재배포가능패키지 설치안된 상태" 에서 Windows 10 VC++2015에서 만들어진 프로그램을 정상적으로 실행하려면 아래와 같이 2가지 모두를 적용해야한다.

1. VC++ 2015에서 프로젝트 "속성 -> 일반 -> MFC 사용" 을 "정적 라이브러리에서 MFC사용" 을 선택하여 MFC관련 라이브러리를 응용프로그램에 모두 statically 포함시키고,

2. Windows Kits/10/x86 의 모든 dll 파일을 win7의 실행프로그램이 있는 폴더에 모두 복사한다.

상기1,2가 동시에 처리되어야 win7에서 vc++2015 에서 만든 프로그램이 정상실행된다.


**
위 방법은 VC++2015 실행환경인 "재배포가능패키지" 설치안된 상태에서 정상실행되게 하려는 것인데, 좋지 않다.
결론적으로 사용자 PC에 "VC++2015 재배포가능패키지" 설치하면 위 과정과 같은 처리 하지 않아도 VC++2015 에서 만든 프로그램이 정상 실행되므로 최선의 해결책이다.

 


 


 본 글이 포함된 상위 정리 장소.

 

 Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11

 

 

///484.

댓글0


   
현물 |선물 인버스 |선물 USDT     현물 | 선물 USDT |봇제작툴/카피트레이딩     현물 |선물 인버스 |선물 USDT     선물 인버스 |선물 USDT