다음을 통해 공유


패치 패키지 만들기

개발자는 패치 생성 파일을 생성하고 Msimsp.exe를 사용하여 Patchwiz.dll에서 UiCreatePatchPackageEx 함수를 호출하여 패치 패키지를 만듭니다. Msimsp.exe 및 Patchwiz.dll은 Windows Installer SDK에서 제공됩니다. 자세한 내용은 작은 업데이트 패치 예제를 참조하세요.

Windows Installer 패키지에 패치를 적용하면 새 .msi 파일을 사용하여 원본 원본이 설치되므로 새 .msi 파일은 원래 원본의 레이아웃과 호환되어야 합니다.

패치 패키지를 작성할 때 압축되지 않은 설치 이미지를 사용하여 CD-ROM에서 관리 이미지 또는 압축되지 않은 설치 이미지와 같은 패치를 만들어야 합니다. 다음 제한 사항도 준수해야 합니다.

  • 파일을 한 폴더에서 다른 폴더로 이동하지 마세요.

  • 파일을 한 캐비닛에서 다른 캐비닛으로 이동하지 마세요.

  • 캐비닛의 파일 순서를 변경하지 마세요.

  • 기존 파일의 시퀀스 번호를 변경하지 마세요. 시퀀스 번호는 File 테이블의 Sequence 열에 지정된 값입니다.

  • 패치에 의해 추가된 모든 새 파일은 기존 파일 시퀀스의 끝에 배치해야 합니다. 업그레이드된 이미지에 있는 새 파일의 시퀀스 번호는 대상 이미지에 있는 기존 파일의 가장 큰 시퀀스 번호보다 커야 합니다.

  • 원래 파일 버전과 새 .msi 파일 버전 간에 File 테이블의 기본 키를 변경하지 마세요.

    참고

    파일은 대상 이미지와 업데이트된 이미지 모두의 File 테이블에 동일한 키를 가지고 있어야 합니다. 두 테이블의 파일 열에 있는 문자열 값은 대/소문자를 포함하여 동일해야 합니다.

     

  • 예를 들어 다음 테이블 예제를 사용하지 않는 경우에만 다른 File 테이블 키를 사용하여 패키지를 작성하지 마세요.

    파일 Component_ FileName
    readme.txt Comp1 readme.txt
    ReadMe.txt Comp2 readme.txt

     

    Windows Installer는 Comp1 및 Comp2가 서로 다른 디렉터리에 설치된 경우 이전 테이블 예제를 허용할 수 있지만 Msimsp.exe 또는 Patchwiz.dll을 사용하여 패키지에 대한 패치를 생성할 수는 없습니다. Msimsp.exe 및 Patchwiz.dll은 대/소문자를 구분하지 않으며 실패하는 Makecab.exe를 호출합니다.

    설정에서 통합 모듈을 사용하는 경우 파일 시퀀스 번호와 레이아웃이 위의 지침을 준수하는지 확인합니다.