구성 요소 코드 변경

설치를 위한 구성 요소를 지정할 때 패키지 작성자는 애플리케이션을 구성 요소로 구성에 설명된 구성 요소 구성에 대한 일반 규칙을 따라야 합니다. 작성자는 새 구성 요소를 도입하거나 기존 구성 요소를 수정해야 할 수 있습니다. 리소스의 추가, 제거 또는 수정으로 인해 새 구성 요소가 효과적으로 만들어지는 경우 구성 요소 코드도 변경해야 합니다.

새 구성 요소 만들기

다음 변경 내용을 적용할 때 새 구성 요소를 도입하고 고유한 구성 요소 코드를 할당합니다.

  • 테스트를 통해 확인되지 않은 변경 내용이 이전 버전의 구성 요소와 호환됩니다. 이 경우 구성 요소에 있는 모든 리소스의 이름 또는 대상 위치도 변경해야 합니다.
  • 구성 요소에 있는 파일, 레지스트리 키, 바로 가기 또는 기타 리소스의 이름 또는 대상 위치 변경. 이 경우 구성 요소에 있는 모든 리소스의 이름 또는 대상 위치도 변경해야 합니다.
  • 구성 요소에서 파일, 레지스트리 키, 바로 가기 또는 기타 리소스를 추가하거나 제거합니다. 이 경우 구성 요소에 있는 모든 리소스의 이름 또는 대상 위치도 변경해야 합니다.
  • 32비트 구성 요소를 64비트 구성 요소로 다시 컴파일합니다.

새 구성 요소를 도입할 때 작성자는 다음 중 하나를 수행하여 구성 요소가 기존 구성 요소와 충돌하지 않도록 해야 합니다.

  • 다른 구성 요소에서 동일한 이름 및 대상 위치에 설치할 수 있는 리소스의 이름 또는 대상 위치를 변경합니다.
  • 그렇지 않으면 새 구성 요소가 일반 이름 및 위치 아래에 리소스가 있는 다른 구성 요소와 동일한 폴더에 설치되지 않도록 보장합니다. 여기에는 동일한 파일 이름을 가진 지역화된 버전의 파일이 포함됩니다. 자세한 내용은 구성 요소 규칙이 위반되면 어떻게 되나요?를 참조하세요.
  • 기존 구성 요소의 구성 요소 코드를 변경하는 경우 구성 요소에 있는 모든 파일, 레지스트리 키, 바로 가기 및 기타 리소스의 이름 또는 대상 위치도 변경합니다.

구성 요소의 새 버전 만들기

구성 요소의 새 버전에는 다른 기존 구성 요소와 동일한 구성 요소 코드가 할당됩니다. 구성 요소 코드를 변경하지 않고 구성 요소를 수정하는 것은 다음과 같은 경우에만 선택 사항입니다.

  • 구성 요소에 대한 변경 내용은 구성 요소의 모든 이전 버전과 호환되는 것으로 테스트를 통해 입증되었습니다.
  • 작성자는 구성 요소의 새 버전이 이전 버전의 구성 요소 또는 이전 버전이 필요한 애플리케이션과 충돌하는 시스템에 설치되지 않도록 보장할 수 있습니다. 자세한 내용은 구성 요소 규칙이 위반되면 어떻게 되나요?를 참조하세요.

구성 요소의 새 버전에 대한 구성 요소 코드는 레지스트리 값, 파일 또는 바로 가기와 같은 리소스를 공유하는 두 구성 요소가 발생하는 경우 변경해서는 안 됩니다.