패치가 원래 설치 원본에 액세스할 필요가 없도록 방지
패치를 적용할 때 원래 설치 원본에 액세스해야 하는 상황을 모두 제거할 수는 없습니다.
패치가 원래 원본에 액세스해야 할 가능성을 최소화하려면 다음 사항을 준수합니다.
- 전체 파일 전용 패치를 사용합니다. 이렇게 하면 이전에 릴리스된 모든 파일 버전에 대한 이진 패치를 만들 필요가 없습니다. 전체 파일 패치는 일반적으로 이진 패치보다 크기가 큽니다. PCP(패치 생성 속성) 파일에서 값이 1(1)인 IncludeWholeFilesOnly 속성을 작성하여 패치를 전체 파일 패치로 쉽게 설정할 수 있습니다.
- 사용자 지정 작업이 원래 원본 위치에 액세스하지 않는지 확인합니다.
- ResolveSource 작업이 필요한 경우에만 실행되거나 전혀 존재하지 않도록 조건부로 지정되었는지 확인합니다.
- 버전 정보가 없는 모든 파일에 대해 MsiFileHash 테이블을(를) 채웁니다. Windows Installer SDK 도구인 Msifiler.exe쉽게 이 작업을 수행할 수 있습니다.
- 모든 파일에 올바른 버전 및 언어 정보가 있는지 확인합니다. Windows Installer SDK 도구인 Msifiler.exe쉽게 이 작업을 수행할 수 있습니다.
패치 시 원본 요구 사항
다음 경우에 패치를 적용하려면 원래 설치 원본에 액세스해야 할 수 있습니다.
패치는 현재 원본에서 실행되는 기능에 적용됩니다. 이 경우 기능은 원본 실행 상태에서 로컬 상태로 전환됩니다.
패치는 누락되거나 손상된 파일이 있는 구성 요소에 적용됩니다.
패치는 버전 관리되지 않은 파일도 포함된 MsiFileHash 항목이 없는 구성 요소의 파일에 적용됩니다. 원본 위치에서 버전이 지정되지 않은 파일을 불필요하게 다시 복사하지 않도록 하려면 MsiFileHash 테이블이 채워져 있어야 합니다.
패치는 아뮤 또는 에뮤의 REINSTALLMODE와 함께 적용되었습니다. 이 옵션은 파일 버전에 관계없이 파일 복사 작업을 수행한다는 측면에서 위험합니다. 이로 인해 파일의 다운-리비전이 발생할 수 있으며 거의 항상 원본이 필요합니다. 권장되는 REINSTALLMODE 값은 omus입니다.
제품에 대해 캐시된 패키지가 없습니다. 캐시된 패키지는 패치를 적용하는 데 필요합니다. 캐시된 패키지는 %windir%\Installer 폴더에 저장됩니다.
패키지는 ResolveSource 작업호출하기 위해 작성됩니다. 이 작업은 실행이 항상 원본에 대한 액세스로 이어지므로 일반적으로 적절하게 방지하거나 조건부로 설정해야 합니다.
패키지에는 어떤 방식으로 원본에 액세스하려고 시도하는 사용자 지정 작업이 있습니다. 가장 일반적인 예는 형식 23 동시 설치 사용자 지정 작업입니다.
패치 패키지는 컴퓨터의 현재 파일 버전에 적용되지 않는 이진 패치로 구성됩니다.
다음 예제에서는 패치를 적용할 때 Windows Installer가 원래 원본에 액세스해야 하는 경우를 고려합니다.
- 제품 예제의 RTM 버전을 설치합니다.
- 컴퓨터에 Qfe1.msp 패치를 적용합니다. 이 패치는 Example.dll 버전 1.0을 버전 1.1로 패치합니다.
- 새 패치인 Qfe2.msp가 제공되어 Example.dll 버전 1.2로 업데이트되고 Qfe1.msp가 사용되지 않습니다. 그러나 패치는 제품의 RTM 버전을 사용하여 생성되었기 때문에 Example.dll 버전 1.0을 대상으로만 만들어졌습니다. Example.dll 버전 1.2에는 Example.dll 버전 1.1에 포함된 수정 사항이 포함되어 있지만 RTM과 QFE2 이미지 간에 .msp 파일이 생성되었습니다. 따라서 Qfe2.msp가 컴퓨터에 적용되면 Windows Installer가 원래 원본에 액세스해야 합니다. Example.dll 대한 이진 패치는 버전 1.1에 적용할 수 없습니다. 버전 1.0에만 적용할 수 있습니다. 이로 인해 패치를 성공적으로 적용할 수 있도록 설치 프로그램이 원래 원본 위치에서 Example.dll 버전 1.0을 다시 복사합니다.
패치를 제거할 때의 원본 요구 사항
Windows Installer가 패치에 대한 기준 정보를 저장하지 않은 경우 패치를 제거하려면 원래 설치 원본에 액세스해야 할 수 있습니다. Windows Installer 3.0부터 설치 관리자는 업데이트할 때 파일에 대한 기준 정보를 선택적으로 저장합니다. 기준 캐시에 대한 자세한 내용은 패치 크기 줄이기를 참조하세요.