Visual C++ 파일 재배포

업데이트: 2007년 11월

Visual C++를 사용하여 응용 프로그램을 개발하면 컴퓨터를 뛰어난 개발 환경으로 활용할 수 있을 뿐만 아니라 응용 프로그램을 편리하게 실행하고 테스트하는 환경으로도 사용할 수 있습니다. 그러나 응용 프로그램을 다른 컴퓨터에 배포하려는 경우에는 응용 프로그램 지원에 필요한 모든 파일을 대상 시스템에 재배포해야 합니다. 응용 프로그램과 함께 재배포해야 하는 파일에 대한 자세한 내용은 배포 예제재배포할 DLL 확인을 참조하십시오.

일부 Visual C++ 파일만 응용 프로그램과 함께 재배포할 수 있습니다. 응용 프로그램과 함께 재배포할 수 있는 파일을 확인하려면 Visual Studio 2005의 Microsoft 소프트웨어 사용 조건과 Redist.txt 파일을 참조하십시오. EULA.txt는 첫 번째 Visual C++ 2008 제품 CD 또는 DVD의 \Setup 디렉터리에 있고, Redist.txt는 두 번째 CD 또는 DVD의 Program Files\Microsoft Visual Studio 2005 디렉터리에 있습니다.

Visual C++ 파일은 제공된 재배포 가능 병합 모듈 또는 Visual C++ 재배포 가능 패키지를 사용하거나 특정 Visual C++ 어셈블리를 응용 프로그램 로컬 폴더에 전용 side-by-side 어셈블리로 배포하는 방법으로 재배포할 수 있습니다.

참고:

응용 프로그램 로컬 폴더는 응용 프로그램 실행 파일이 들어 있는 폴더입니다. 전용 side-by-side 어셈블리는 응용 프로그램 로컬 폴더에서 또는 해당 하위 폴더 중 하나에서 배포되어야 합니다. 전용 side-by-side 어셈블리를 포함하는 하위 폴더에 적용되는 명명 규칙에 대한 자세한 내용은 Assembly Searching Sequence를 참조하십시오.

첫 번째 경우 이 응용 프로그램을 다른 컴퓨터에 배포하는 데 사용되는 Windows Installer 패키지 또는 유사한 설치 패키지에 특정 Visual C++ 어셈블리가 있는 병합 모듈을 포함해야 합니다. 자세한 내용은 병합 모듈을 사용하여 재배포를 참조하십시오. 이러한 배포 예제를 보려면 방법: 설치 및 배포 프로젝트 배포를 참조하십시오.

응용 프로그램을 설치하기 전에 대상 시스템에서 Visual C++ 재배포 가능 패키지(VCRedist_x86.exe, VCRedist_x64.exe, VCRedist_ia64.exe)를 실행해야 합니다. 이 패키지에서는 모든 Visual C++ 라이브러리를 설치 및 등록합니다.

참고:

Visual C++ Express로 빌드한 응용 프로그램에 대한 Visual C++ 라이브러리를 재배포하거나 모든 Visual C++ 라이브러리를 동시에 배포하려는 경우에 이 패키지를 사용하는 것이 좋습니다.

이 패키지를 사용하는 방법에 대한 예제는 방법: XCopy를 사용하여 배포를 참조하십시오.

Visual C++ 라이브러리를 전용 side-by-side 어셈블리로 배포하는 경우 이 어셈블리를 구성하는 모든 DLL 및 매니페스트 파일을 Windows Installer 또는 유사한 설치 패키지에 추가하여 전용 어셈블리 배포에 대한 규칙에 따라 대상 컴퓨터에 있는 응용 프로그램 로컬 폴더의 하위 디렉터리에 배포해야 합니다. Visual C++ 어셈블리를 구성하는 Visual C++ DLL 및 매니페스트 파일에 대한 내용은 Visual C++ Libraries as Side-by-Side Shared Assemblies를 참조하십시오. 런타임에 로드하기 위해 전용 어셈블리를 배포할 때 따라야 하는 규칙에 대한 설명은 Assembly Searching Sequence를 참조하십시오. Visual C++ 라이브러리를 전용 어셈블리로 배포하는 방법에 대한 예제는 방법: XCopy를 사용하여 배포를 참조하십시오.

발생 가능한 런타임 오류

응용 프로그램에 매니페스트가 있지만 필요한 Visual C++ 라이브러리가 WinSxS 폴더에 설치되어 있지 않으면 응용 프로그램을 실행하는 Windows 버전에 따라 다음 오류 메시지 중 하나가 발생할 수 있습니다.

  • 응용 프로그램을 제대로 초기화하지 못했습니다(0xc0000135).

  • 응용 프로그램 구성이 잘못되어 응용 프로그램을 시작하지 못했습니다. 응용 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다.

  • 지정한 프로그램을 호출할 수 없습니다.

응용 프로그램에 매니페스트가 없으면 응용 프로그램에서 의존하는 Visual C++ 라이브러리가 응용 프로그램 로컬 폴더에 배포되었는지 또는 System 폴더나 WinSxS 등의 공유 폴더에 배포되었는지에 따라 다른 오류가 발생합니다.

참고:

매니페스트 없이 빌드된 C/C++ 응용 프로그램은 다시 배포할 수 없습니다. 응용 프로그램을 Visual C++ 라이브러리에 바인딩하는 매니페스트가 없으면 C/C++ 응용 프로그램에서 이러한 라이브러리를 사용할 수 없습니다. 자세한 내용은 배포 방법 선택을 참조하십시오.

응용 프로그램 로컬 폴더나 System 폴더에 설치된 MSVCR90.DLL 등의 Visual C++ 라이브러리 DLL을 사용할 수 있으면 다음 오류 메시지가 표시됩니다.

R6034 응용 프로그램에서 C 런타임 라이브러리를 잘못 로드하려고 했습니다.

DLL을 사용할 수 없고 Windows에서 응용 프로그램에 사용하도록 이 DLL을 로드할 수 없으면 다음 오류 메시지가 나타납니다.

MSVCR90.dll을 찾을 수 없어 응용 프로그램을 시작하지 못했습니다. 응용 프로그램을 다시 설치하면 이 문제가 해결될 수 있습니다.

이러한 오류를 해결하려면 응용 프로그램이 제대로 빌드되었고 대상 시스템에 Visual C++ 라이브러리가 제대로 배포되었는지 확인해야 합니다. 이러한 런타임 오류의 근본 원인을 확인하려면 C/C++ 격리된 응용 프로그램 및 side-by-side 어셈블리 문제 해결에 제시된 단계를 따르십시오.

단원 내용

참고 항목

개념

배포 예제

C/C++ 격리된 응용 프로그램 및 side-by-side 어셈블리 문제 해결

기타 리소스

배포(C++)