Windows Installer 설명서 Part10VC로 제작된 어플리케이션 및 통합 모듈

4902 단어 installerWiXToolset
이전 글로 이동    디렉토리로 이동    다음 글로 이동
병합 모듈은
병합 모듈은 MSI 파일과 결합할 수 있는 설치 프로그램의 일부를 분리한 라이브러리입니다.병합 모듈은 설치 프로그램이 만들어졌을 때 MSI와 결합된 것으로 병합 후 어느 부분이 병합 모듈에 포함되어 있는지 상관없이 MSI 파일을 구분할 수 없습니다1.따라서 사용자는 설치 프로그램에서 어떤 합병 모듈을 합병했는지 알 수 없다.
통합 모듈 사용
이번에는 Visual C++ 의 런타임 라이브러리 설치를 기록해 보십시오.실제로 그 외에 나는 합병 모듈2을 사용하지 않았다.
Win32 API를 사용하던 기존 프로그래밍에서는 대부분 Visual C++를 사용했습니다.또한 Visual C++에서 개발한 대부분의 프로그램은 실행할 때 VC 실행 시간 라이브러리3가 필요합니다.
VC 런타임 병합 모듈
병합 모듈의 파일 확장자는 .msm입니다.합병 모듈은 개발 설치 프로그램의 개발기에서 가져옵니다.예를 들어 제 개발기에는 Visual Studio 2017이 있는데 확장자*.msm로 검색하면 아래 폴더에 있습니다.
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\MergeModules
여기에 몇 개의 서류가 있는데 어떤 서류를 합병해야 하는지는 실장 담당자가 결정한다.프로그램에 필요한 라이브러리가 뭔지 아는 게 설치 담당자니까.Win32 API를 사용하는 일반 프로그램에서 대부분의 파일 이름에는 CRT가 포함된 병합 모듈이 포함됩니다.또 이전 VC에서는 합병 모듈 간 의존 관계가 있었고 여러 개의 합병 모듈이 필요한 경우4도 있었다.
이외에도 마이크로소프트 사이트에서 다운로드할 수 있는再配布可能モジュール, 확장자.EXE의 실행 형식으로 프로그램이 제공된다.MSI 형식의 설치 프로그램에서 이걸 직접 호출하려면 맞춤형 동작과 UI5가 필요하기 때문에 추천하지 않습니다.
VC14 런타임 라이브러리 주의 사항
윈도 7과 윈도 8의 경우 VC14 실행 시간 라이브러리 의존 관계의 라이브러리 (Universal CRT) 가 윈도 업데이트에서 배포됩니다.Windows Update는 자주 고장이 나서 컴퓨터에 익숙하지 않은 사용자들도 잘 모를 수 있습니다.이러한 환경에서 VC14 런타임 라이브러리가 필요한 애플리케이션을 시작하면 필요한 DLL 부족 오류 대화 상자가 나타납니다.그곳에서는 앱 설치부에도 유니버설 CRT의 DLL을 함께 설치하는 방법"자세한 내용은 이 페이지의""Visual C++ 2015 CRT 로컬 구성""을 참조하십시오."이 자주 사용된다.Windows Update용 파일을 설치 프로그램과 함께 묶는 것도 고려할 수 있지만 설치 시간도 그에 상응하는 비용이 들고, UI를 조정하는 시간을 고려할 때 파일 단위로 묶는 것이 비교적 간단하다.2020년 1월에도 윈도7 지원이 만료되는데 지원을 아끼지 않으면 유니버설 CRT를 앱으로 묶지 않는 것도 수단이다.Windows 10이라면 Universal CRT는 처음부터 OS에 첨부되어 있습니다.
다시 배포할 수 있는 VC14 런타임 라이브러리의 내용 보기
최근 VC 런타임 라이브러리는 WiX Toolset.EXE 형식6으로 WiX Toolset과 함께 제공되는 도구로 분산할 수 있습니다.예를 들어 이렇게 명령을 실행하면expand 디렉터리에서 내용을 펼칩니다.
"C:\Program Files (x86)\WiX Toolset v3.11\bin\dark.exe" vcredist_x86.exe -o expand
다음 확장된 파일의 일부를 나타냅니다.

여기 확장자 MSI 의 파일은 VC14 실행 시간 설치기의 주체입니다.확장자가 .msu인 파일은 Windows Update에서 배포된 파일과 같습니다.재생산할 수 있는 VC14 런타임 라이브러리에는 Windows Update용 파일이 포함되어 있어 라이브러리가 작동합니다.
이전 글로 이동    디렉토리로 이동    다음 글로 이동
그럼에도 불구하고 VCC 운행시간처럼 각종 제품에서 통용되는 합병 모듈은 각 항목의 ID가 긴 이름을 가지고 있어 쉽게 구분할 수 있다. 
편리하거나 유용한 용도가 있으면 알려주세요. 
Visual C++의 개발 환경에서도 VC 실행 시간이 필요 없는 프로그램을 개발할 수 있습니다. 
예: MicrosoftVC80_CRT_x86.msm는 정책8_0_Microsoft_VC80_CRT_x86.msm에 의존하기 때문에 둘 다 설치해야 합니다. 
Windows Installer로 이것을 부르려면 사용자 정의 동작을 사용하거나 UI를 조정할 수 있어 매우 번거롭다.또한 재발포 가능한 라이브러리는'vcredit-'x86.exe/?”옵션, 명령행 옵션 목록이 표시됩니다.UI를 최소화하거나 표시하지 않는 명령줄 옵션을 볼 수 있습니다. 
WiX Toolset의 세계에서 Bundle이라고 합니다. 

좋은 웹페이지 즐겨찾기