병합 모듈을 사용하여 구성 요소 재배포
Important
Visual Studio 2019 이상에서는 Visual C++ 재배포 가능 패키지 파일에 대한 병합 모듈은 더 이상 사용되지 않습니다. 애플리케이션 배포에는 사용하지 않는 것이 좋습니다. Windows 업데이트 병합 모듈을 사용하여 설치된 재배포 가능 패키지는 설치 패키지의 세부 정보를 아는 데 따라 달라지므로 업데이트할 수 없습니다. Visual C++ 재배포 가능 패키지 패키지는 각 릴리스에 대해 알려져 있지만 MSM을 사용하는 패키지는 사용자 생성됩니다. Microsoft는 사용자 생성 패키지의 세부 정보를 알 수 없습니다. 대신 Visual C++ 재배포 가능 패키지 패키지의 중앙 배포를 사용하는 것이 좋습니다. 중앙 배포는 모든 애플리케이션 및 사용자가 사용할 수 있도록 Windows %SYSTEMROOT%\system32\
폴더에 재배포 가능 파일을 설치합니다. 재배포 가능 패키지를 통한 중앙 배포를 사용하면 Microsoft에서 런타임 라이브러리 파일을 독립적으로 제공할 수 있습니다. 또한 앱을 제거해도 중앙 배포를 사용하는 다른 애플리케이션을 중단할 수 없습니다. 중앙 배포에 재배포 가능 패키지를 사용하는 경우 애플리케이션 유지 관리의 일부로 런타임 라이브러리를 추적하고 업데이트할 책임이 없습니다. Microsoft 업데이트 서비스는 이러한 라이브러리를 업데이트합니다. 그렇지 않으면 런타임 라이브러리 파일을 업데이트하려면 .msi
설치 관리자를 업데이트하고 다시 배포해야 합니다. 앱은 업데이트할 때까지 버그 또는 보안 문제에 취약할 수 있습니다.
Visual Studio에는 애플리케이션과 재배포가 허가된 각 Visual C++ 구성 요소에 대한 병합 모듈(.msm
파일)이 포함되어 있습니다. 각 대상 플랫폼에 대해 별도의 버전의 병합 모듈이 있습니다. 병합 모듈이 Windows Installer 설치 파일로 컴파일되면 해당 특정 플랫폼에 Visual C++ 재배포 가능 패키지 파일을 배포할 수 있습니다. 동일한 DLL의 여러 버전에 대한 병합 모듈은 한 설치 관리자에 포함할 수 없습니다. 설치 관리자 설치 파일에서 병합 모듈이 애플리케이션의 필수 구성 요소임을 지정합니다.
중앙 배포 또는 로컬 배포에 병합 모듈을 사용할 수 있습니다. 사용자는 관리자 권한이 없는 한 중앙에서 배포된 파일을 설치할 수 없습니다. 로컬 배포를 사용하면 관리자가 아닌 사용자가 앱을 설치하고 실행할 수 있지만 독립적인 서비스 효율성이 있습니다.
기존 라이브러리를 통해 이전 병합 모듈의 중앙 배포를 시도하는 경우 설치 서비스에서 오류를 보고합니다. 이 오류를 정상적으로 처리하고 오류 메시지를 표시하지 않도록 설치 관리자 설정을 작성해야 합니다. 이 오류에도 불구하고 코드를 배포하고 성공적으로 실행할 수 있습니다. 자세한 내용은 Visual Studio 버전 간의 C++ 이진 호환성을 참조하세요.
코드를 설치 관리자로 .msi
만 배포하는 경우 설치 관리자에 병합 모듈을 포함하지 않는 것이 좋습니다. 대신 필요한 재배포 가능 라이브러리를 찾을 수 없는 경우 사용자에게 오류를 보고합니다. 실패 대화 상자에서 최신 재배포 가능 패키지를 찾아 설치하는 방법에 대한 지침을 포함합니다. 재배포 가능 패키지에 대한 자세한 내용 및 링크는 지원되는 최신 Visual C++ 다운로드를 참조 하세요.
최신 재배포 가능 패키지 및 병합 모듈은 Visual Studio 2015 이상을 사용하여 빌드된 코드와 호환됩니다. 2015년 이전 버전의 Visual Studio에서 빌드된 코드에는 별도의 재배포 가능 패키지가 필요합니다.
병합 모듈을 사용하는 경우
병합 모듈은 제한된 상황에서만 적합합니다.
- 정책상의 이유로 별도의 재배포 가능 패키지를 설치하거나 요구할 수 없습니다.
- 코드에는 특정 버그 호환 버전의 라이브러리가 필요합니다.
- 코드는 하나의 플랫폼만 대상으로 하며 둘 이상의 DLL 버전에 대한 종속성이 없습니다.
- 배포된 코드를 정기적으로 서비스하여 라이브러리를 최신 상태로 유지하려고 합니다.
병합 모듈을 사용하는 경우 라이브러리 업데이트를 사용하여 애플리케이션을 추적하고 정기적으로 서비스해야 합니다. 그렇지 않으면 결국 클라이언트가 코드 실행 또는 보안 유지 중에서 선택하도록 강제합니다.
병합 모듈 파일을 찾을 수 있는 위치
Visual Studio 2022 및 2019에서 병합 모듈 파일은 Visual Studio 설치 관리자에서 C++ <버전> 재배포 가능 MSM이라는 선택적 설치 가능 구성 요소의 일부입니다. 병합 모듈은 기본적으로 Visual Studio 2017 및 Visual Studio 2015에서 C++ 설치의 일부로 설치됩니다. Visual Studio 2022에 설치되면 Visual C++ 재배포 가능 패키지 병합 모듈을 찾을 수 있습니다%VCINSTALLDIR%Redist\MSVC\v143\MergeModules
. 최신 버전의 Visual Studio 2019에서는 병합 모듈이 있습니다 %VCINSTALLDIR%Redist\MSVC\v142\MergeModules
. Visual Studio 2019 및 Visual Studio 2017에서는 %VCToolsRedistDir%MergeModules
에도 있습니다. Visual Studio 2015에서는 Program Files [(x86)]\Common Files\Merge Modules
에 있습니다. 자세한 내용 및 재배포 가능 병합 모듈 목록에 대한 링크는 Visual C++ 파일 재배포를 참조하세요.