Ändern des Produktcodes

Der Produktcode ist eine GUID (Globally Unique Identifier), die das wichtigste Identifikationsmerkmal einer Anwendung oder eines Produkts darstellt. Siehe auch Produktcodes.

Ein Update, das die folgenden Richtlinien erfüllt, erfordert in der Regel keine Änderung des Produktcodes und kann als kleines Update oder, wenn die Version geändert werden soll, als kleineres Upgrade behandelt werden:

  • Das Update kann die Featurekomponentenstruktur vergrößern oder reduzieren, darf aber die vorhandene Hierarchie von Features und Komponenten, die in den Feature- und FeatureComponents-Tabellen beschrieben werden, nicht neu ordnen. Es kann der vorhandenen Featurekomponentenstruktur ein neues Feature hinzufügen. Wenn ein übergeordnetes Feature entfernt wird, müssen auch alle untergeordneten Features des entfernten Features entfernt werden.
  • Das Update kann eine neue Komponente zu einem neuen oder einem vorhandenen Feature hinzufügen.
  • Das Update darf den Komponentencode einer Komponente nicht ändern. Daher darf ein kleines Update oder ein kleineres Upgrade niemals den Namen der Schlüsseldatei einer Komponente ändern, da dies eine Änderung des Komponentencodes erfordern würde.
  • Das Update darf den Namen der .msi-Datei des Installationspakets nicht ändern. Da das Paket geändert wird, sollte stattdessen der Paketcode geändert werden. Beachten Sie, dass dies bedeutet, dass das Update die Tabellen, benutzerdefinierten Aktionen und Dialogfelder in der .msi-Datei ändern kann, ohne den Namen der Datei zu ändern.
  • Das Update kann Dateien, Registrierungsschlüssel oder Verknüpfungen von Komponenten hinzufügen, entfernen oder ändern, die nicht von zwei oder mehr Features gemeinsam verwendet werden. Wenn das Update eine Datei mit Version ändert, muss die Version dieser Datei in der Dateitabelle erhöht werden. Wenn das Update Ressourcen entfernt, sollten auch die RemoveFile- und RemoveRegistry-Tabellen aktualisiert werden, um alle nicht verwendeten Dateien, Registrierungsschlüssel oder Verknüpfungen zu entfernen, die bereits installiert wurden.
  • Das Update einer Komponente, die von zwei oder mehr Features gemeinsam verwendet wird, muss mit allen Anwendungen und Features abwärtskompatibel sein, die die Komponente verwenden. Das Update kann die Ressource einer gemeinsam verwendeten Komponente ändern, z. B. Dateien, Registrierungseinträge und Verknüpfungen, solange die Änderungen abwärtskompatibel sind. Es wird nicht empfohlen, einer gemeinsam verwendeten Komponente Dateien, Registrierungseinträge oder Verknüpfungen hinzuzufügen oder diese zu entfernen.
  • Ein kleines Update wird als Windows Installer-Patchpaket ausgeliefert. (Eine vollständige Produkt-CD-ROM wird mit einem kleinen Update normalerweise nicht bereitgestellt.)

Der Produktcode muss geändert werden, wenn eine der folgenden Punkte für das Update zutrifft:

  • Gleichzeitige Installationen von originalen und aktualisierten Produkten auf demselben System müssen möglich sein.
  • Der Name der .msi-Datei wurde geändert.
  • Der Komponentencode einer vorhandenen Komponente wurde geändert.
  • Eine Komponente wurde aus einem vorhandenen Feature entfernt.
  • Ein vorhandenes Feature wurde zu einem untergeordneten Element eines vorhandenen Features gemacht.
  • Ein vorhandenes untergeordnetes Feature wurde vom übergeordneten Feature entfernt.

Beachten Sie, dass das Hinzufügen eines neuen untergeordneten Features, das vollständig aus neuen Komponenten besteht, zu einem vorhandenen Feature keine Änderung des Produktcodes erfordert.

Neue untergeordnete Features können erstellt werden, indem Sie „msidbFeatureAttributesFollowParent“ und „msidbFeatureAttributesUIDisallowAbsent“ in das Attributfeld der Featuretabelle einschließen. Wenn durch das kleinere Upgrade nur neue untergeordnete Features hinzugefügt werden, reicht „REINSTALL=ALL“ aus, um die Installation der neuen untergeordneten Features zu erzwingen. Weitere Informationen finden Sie unter Steuern von Featureauswahlzuständen.

Ein neues untergeordnetes Feature kann für den Benutzer ausgeblendet werden. Um den Installationsstatus eines neuen untergeordneten Features mit dem übergeordneten Feature zu synchronisieren, legen Sie die Bits „msidbFeatureAttributesFollowParent“ und „msidbFeatureAttributesUIDisallowAbsent“ für das untergeordnete Feature fest.

Informationen zu Eigenschaften

Verwenden von Eigenschaften

Eigenschaftenreferenz