다음을 통해 공유


제품 코드 변경

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

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

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

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

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

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

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

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

속성 정보

속성 사용

속성 참조