제품 코드 변경

제품 코드는 애플리케이션 또는 제품의 주요 ID인 GUID입니다. 제품 코드를 참조하세요.

다음 지침을 충족하는 업데이트는 일반적으로 제품 코드를 변경할 필요가 없으며 소규모 업데이트로 처리하거나 버전이 변경될 경우 부 업그레이드로 처리할 수 있습니다.

  • 업데이트는 기능-구성 요소 트리를 확대하거나 줄일 수 있지만 기능FeatureComponents 테이블에서 설명하는 기능 및 구성 요소의 기존 계층 구조를 다시 구성해서는 안 됩니다. 기존 기능-구성 요소 트리에 새 기능을 추가할 수는 있습니다. 부모 기능을 제거하는 경우 제거된 기능의 모든 자식 기능도 제거해야 합니다.
  • 업데이트는 새 구성 요소를 새 기능 또는 기존 기능에 추가할 수 있습니다.
  • 업데이트는 구성 요소의 구성 요소 코드를 변경해서는 안됩니다. 따라서 소규모 업데이트 또는 부 업그레이드에서 구성 요소의 키 파일 이름을 변경하지 않아야 하는데, 이를 위해 구성 요소 코드를 변경해야 하기 때문입니다.
  • 업데이트는 설치 패키지의 .msi 파일 이름을 변경하지 않아야 합니다. 대신, 패키지를 수정하므로 패키지 코드를 변경해야 합니다. 즉, 업데이트는 파일 이름을 변경하지 않고도 .msi 파일의 테이블, 사용자 지정 작업 및 대화 상자를 변경할 수 있습니다.
  • 업데이트는 두 개 이상의 기능에서 공유하지 않는 구성 요소의 파일, 레지스트리 키 또는 바로 가기를 추가, 제거 또는 수정할 수 있습니다. 업데이트에서 버전이 지정된 파일을 수정하는 경우 File 테이블에서 해당 파일의 버전을 증가시켜야 합니다. 업데이트에서 리소스를 제거하는 경우 RemoveFileRemoveRegistry 테이블도 업데이트하여 이미 설치된 사용되지 않는 파일, 레지스트리 키 또는 바로 가기를 제거해야 합니다.
  • 두 개 이상의 기능이 공유하는 구성 요소의 업데이트는 해당 구성 요소를 사용하는 모든 애플리케이션 및 기능의 이전 버전과 호환되어야 합니다. 업데이트는 변경 내용이 이전 버전과 호환되는 한 파일, 레지스트리 항목 및 바로 가기와 같은 공유 구성 요소의 리소스를 수정할 수 있습니다. 업데이트를 통해 공유 구성 요소에 파일, 레지스트리 항목 또는 바로 가기를 추가하거나 제거하는 것이 좋습니다.
  • 소규모 업데이트는 Windows Installer 패치 패키지로 제공됩니다. (전체 제품 CD-ROM은 일반적으로 소규모 업데이트에서 제공되지 않습니다.)

다음 중 업데이트에 대해 충족되는 항목이 있는 경우 제품 코드를 변경해야 합니다.

  • 동일한 시스템에 원래 제품과 업데이트된 제품의 공존 설치가 가능해야 합니다.
  • .msi 파일의 이름이 변경되었습니다.
  • 기존 구성 요소의 구성 요소 코드가 변경되었습니다.
  • 구성 요소가 기존 기능에서 제거되었습니다.
  • 기존 기능을 기존 기능의 자식으로 만들었습니다.
  • 기존 자식 기능이 부모 기능에서 제거되었습니다.

완전히 새 구성 요소로 구성된 새 자식 기능을 기존 기능에 추가해도 제품 코드를 변경할 필요가 없습니다.

Feature 테이블의 Attributes 필드에 msidbFeatureAttributesFollowParent 및 msidbFeatureAttributesUIDisallowAbsent를 포함하여 새 자식 기능을 작성할 수 있습니다. 부 업그레이드에서 새 자식 기능만 추가하는 경우 REINSTALL=ALL이면 새 자식 기능을 설치하기에 충분합니다. 자세한 내용은 기능 선택 상태 제어를 참조하세요.

새 자식 기능이 사용자에게 표시되지 않을 수 있습니다. 새 자식 기능의 설치 상태를 부모 기능과 동기화하려면 자식 기능에 대해 msidbFeatureAttributesFollowParent 및 msidbFeatureAttributesUIDisallowAbsent 비트를 설정합니다.

속성 정보

속성 사용

속성 참조