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 어셈블리 문제 해결에 제시된 단계를 따르십시오.
단원 내용
병합 모듈을 사용하여 재배포
Visual C++ 재배포 가능 병합 모듈을 사용하면 Visual C++ 어셈블리를 네이티브 어셈블리 캐시(WinSxS 폴더)에 공유 side-by-side 어셈블리로 설치할 수 있습니다.Visual C++ ActiveX 컨트롤 재배포
ActiveX 컨트롤을 사용하는 응용 프로그램을 재배포하는 방법에 대해 설명합니다.데이터베이스 지원 파일 재배포
DAO(데이터 액세스 개체) 지원 파일을 재배포하는 방법 및 Microsoft Data Access SDK에 포함된 데이터베이스 기술에 대해 설명합니다.MFC 라이브러리 재배포
MFC를 사용하는 응용 프로그램을 재배포하는 방법에 대해 설명합니다.ATL 및 OLE DB 템플릿 재배포
ATL 및 OLE DB 템플릿을 사용하는 응용 프로그램을 재배포하는 방법에 대해 설명합니다.공용 컨트롤 재배포
최신 버전의 Internet Explorer에서 사용할 수 있는 최신 Windows 공용 컨트롤(Comctl32.dll)을 사용하는 응용 프로그램을 재배포하는 방법에 대해 설명합니다.응용 프로그램 재배포 및 특정 라이브러리에 바인딩
이전 버전의 라이브러리가 있는 컴퓨터에서 응용 프로그램이 실행되지 않도록 응용 프로그램을 재배포하고 특정 버전의 Visual C++ 라이브러리에 바인딩하는 방법에 대해 설명합니다.
참고 항목
개념
C/C++ 격리된 응용 프로그램 및 side-by-side 어셈블리 문제 해결