Vorbereiten einer Anwendung für zukünftige Hauptversionsupgrades

Autoren von Installationspaketen sollten Upgradeinformationen in ihre MSI-Dateien einschließen, um sicherzustellen, dass ihr Installationspaket die vollständige Upgradefunktionalität nutzen kann, die mit Microsoft Windows Installer verfügbar ist.

Jeder Anwendung oder Suite von Anwendungen sollte eine UpgradeCode-Eigenschaft, eine ProductVersion-Eigenschaft und eine ProductLanguage-Eigenschaft zugewiesen werden. Die UpgradeCode-Eigenschaft gibt eine Familie verwandter Anwendungen an, die aus verschiedenen Versionen und verschiedenen Sprachversionen desselben Produkts bestehen. Weitere Informationen zur Verwendung der UpgradeCodes-Eigenschaft finden Sie unter Verwenden von UpgradeCode.

Vorbereiten einer Anwendung für zukünftige Hauptversionsupgrades

  1. Bestimmen Sie einen neuen Paketcodewert für die Anwendung. Weitere Informationen zu Paketcodes finden Sie unter Paketcodes. Geben Sie den neuen Paketcode in die Eigenschaft Zusammenfassung der Revisionsnummer (Revision Number Summary) des Zusammenfassungsinformations-Datenstroms (Summary Information Stream) gespeichert.
  2. Bestimmen Sie eine neue ProductCode-Eigenschaft für die Anwendung. Weitere Informationen finden Sie unter Ändern des Produktcodes. Geben Sie ProductCode und den zugehörigen Wert in die Property-Tabelle ein.
  3. Bestimmen Sie die Version der Anwendung und die ProductVersion-Eigenschaft. Die ProductVersion sollte mit jeder neuen Version der Anwendung erhöht werden. Beachten Sie, dass Windows Installer nur die ersten drei Felder der Produktversion verwendet. Wenn Sie ein viertes Feld in Ihre Produktversion einbeziehen, ignoriert das Installationsprogramm das vierte Feld. Geben Sie die ProductVersion und den zugehörigen Wert in die Property-Tabelle ein.
  4. Bestimmen Sie die Sprache des Pakets und die ProductLanguage-Eigenschaft. Der Wert dieser Eigenschaft muss ein numerischer Sprachbezeichner (LANGID) sein. Geben Sie ProductLanguage und den zugehörigen Wert in die Property-Tabelle ein. Beachten Sie, dass die FindRelatedProducts-Aktion die von MsiGetProductInfo zurückgegebene Sprache verwendet. Damit FindRelatedProducts ordnungsgemäß funktioniert, muss der Paketautor sicher sein, dass die ProductLanguage-Eigenschaft in der Property-Tabelle auf eine Sprache festgelegt ist, die auch in der Template Summary-Eigenschaft (Vorlagenzusammenfassung) aufgeführt ist.
  5. Wenn Sie ein Installationspaket für die erste Version Ihres Produkts erstellen, verwenden Sie einen neuen UpgradeCode. Wenn Ihr Paket für eine neuere Version eines vorhandenen Produkts vorgesehen ist oder dieselbe Version wie ein vorhandenes Produkt in einer anderen Sprache ist, verwenden Sie denselben UpgradeCode wie für das vorhandene Produkt. Keine zwei Produkte mit derselben ProductVersion und derselben ProductLanguage können denselben UpgradeCode haben, es sei denn, eins ist ein kleines Update des anderen.
  6. Der UpgradeCode hat das Format einer GUID. Geben Sie die UpgradeCode-GUID in die Property-Tabelle ein.

Weitere Informationen finden Sie unter Verhindern, dass ein altes Paket über eine neuere Version installiert wird.