Visual C++ 2010에서의 배포

다른 컴퓨터에 응용 프로그램을 배포할 때는 응용 프로그램 자체와 해당 응용 프로그램이 종속된 모든 라이브러리 파일을 설치해야 합니다.Visual Studio 2012의 Visual C++에서는 응용 프로그램과 함께 Visual C++ 런타임을 배포하는 세 가지 방법(중앙 배포, 로컬 배포 또는 정적 연결)을 제공합니다.

중앙 배포

중앙 배포는 Visual C++ DLL이 System32 디렉터리에 설치됨을 의미합니다.다음 중 하나를 사용하여 응용 프로그램을 중앙 배포할 수 있습니다.

  • **VCRedist_**architecture.exe 명령줄 도구. 여기서 architecture는 x32, x64 또는 ia64입니다.

  • 병합 모듈

VCRedist_architecture.exe는 특정 하드웨어 플랫폼에 사용할 모든 라이브러리를 설치합니다.병합 모듈 또는 .msm 파일은 개발자가 공유 Windows Installer 구성 요소와 설치 로직을 해당 응용 프로그램에 전달하는 표준 방법을 제공합니다.

중앙 배포의 주요 이점은 응급 서비스 기능입니다.중요한 보안상 취약점이 검색되면 중앙 배포된 라이브러리 파일이 자동으로 업데이트됩니다.

로컬 배포

로컬 배포는 응용 프로그램의 라이브러리 파일이 응용 프로그램 폴더에 설치됨을 의미합니다.응용 프로그램을 로컬로 배포하려면 실행 파일과 관련 라이브러리 파일을 한 폴더에 복사합니다.

파일 이름에 버전 번호 (예를 들어, 버전 11 CRT DLL의 msvcr110.dll입니다) 포함 되어 있으므로 서로 다른 라이브러리 버전이 세로로 나란히 있을 수 있습니다.

중앙 배포된 라이브러리와는 달리 로컬 라이브러리는 자동으로 업데이트되지 않습니다.로컬 배포를 사용하려는 경우 자체 라이브러리 업데이트 방법도 구현해야 합니다.

정적 링크

응용 프로그램을 임의의 라이브러리(예: CRT, MFC 또는 ATL)에 정적으로 링크하여 DLL에 종속되지 않은 실행 파일을 생성할 수 있습니다.정적 링크의 이점은 응용 프로그램을 배포할 경우 라이브러리 파일을 복사하지 않고도 컴퓨터 간에 복사된다는 점입니다.정적 링크를 사용하고 연결된 라이브러리가 업데이트되면 응용 프로그램에서 업데이트된 라이브러리를 사용할 수 없습니다.

보안 취약성

취약점이 발생 하는 경우 Microsoft 보안 패치는 영향을 받는 라이브러리를 제공합니다.이 취약 한 라이브러리가 있는 컴퓨터에서 패치를 배포 하는 응용 프로그램 작성자의 책임입니다.

보안 취약성이 중요하다고 판단되어 응급 서비스가 필요할 경우 Microsoft Update를 사용하여 특정 Visual C++ 라이브러리가 중앙에 설치된 모든 컴퓨터에 서비스됩니다.응용 프로그램에서 로컬 라이브러리 파일을 사용하는 경우에는 응급 서비스에 대한 고유 프로비전을 만들어야 합니다.

문제 해결

로더 문제를 진단하려면 depends.exe 또는 where.exe를 사용합니다.로드 순서 Visual C++ 라이브러리를 시스템에 따라 다릅니다.자세한 내용은 동적 연결 라이브러리 검색 순서 (Windows).

참고 항목

기타 리소스

데스크톱 응용 프로그램 (Visual C++)