다음을 통해 공유


패치 패키지 만들기

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

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

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

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

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

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

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

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

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

    메모

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

     

  • 파일 테이블 키의 대소문자만 다른 패키지를 작성하지 마세요. 예를 들어, 다음 표와 같은 예는 피하세요.

    파일 구성 요소_ 파일 이름
    readme.txt Comp1 readme.txt
    ReadMe.txt Comp2 readme.txt

     

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

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