Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Komplexes Patch-Szenario


3 replies to this topic

Heike Storkebaum

Heike Storkebaum
  • Full Members
  • 13 posts

Posted 13 April 2010 - 16:31

Hallo MSI-Spezialisten,

ich habe mir gerade ein Patch-Problem vorgeknöpft, das wir schon ewig vor uns herschieben. Folgendes Anwendungsszenario:

Für den RTM wird in den folgenden Wochen nach dem Release dann eine Lokalisierung in mehreren Sprachen erstellt. Jede dieser Sprachen soll unabhängig von den anderen Sprachen installiert werden. Für jede dieser Sprachen wird ein Patch erstellt, der alle spezifischen Resourcen enthält und jedes dieser Sprachpakete bekommt eine eigene PatchFamily (z.B. 50_FR, 50_IT, ...). Das funktioniert wunderbar.

Ärger gibt es sobald zusätzlich zu den Sprachpaketen Patches die Fixes enthalten eingespielt werden. Da werden ab dem 2.Patch die Änderungen auf dem Zielsystem nicht mehr eingespielt, wenn ein Sprachpaket vorhanden ist (ohne Sprachpaket ist alles gut). Diese Patches gehören dann ebenfalls zu einer eigenen PatchFamily die sequenziert ist, die Patches sind kumulativ, so dass nur noch der letzte Patch in der Update-Liste verbleibt.

Ich konnte das ganze mittlerweile zumindest mit einen stark gestrippten Installer reproduzieren, was aber leider immer noch zu umfänglich ist um es hier einzufügen.

Vielleicht gibt es ja jemanden der mir einen Tipp geben kann auf welche Details ich achten muss.

Diese Patches werden derzeit mit WiX 2.0 / msimsp.exe (4.0) erstellt, Installer Version 3.1.

Würde mich über Tipps riesig freuen,
die derzeit Ratlose...


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 14 April 2010 - 13:57

Ich muss vorausschicken, dass ich das Szenario nicht vollständig verstanden habe. Geht es um die Lokalisierung des Installers? Das word ja üblicherweise per Transform gemacht, und Transforms kann man nur einmalig hinzufügen, die werden bei updates nicht upgedatet.

Heike Storkebaum

Heike Storkebaum
  • Full Members
  • 13 posts

Posted 14 April 2010 - 14:56

Nein, es geht nicht um Transformationen. Der initiale Installer trägt eine Transformation in sich, d.h. initial werden English und Deutsch deployed.
Die Patches, die die weiteren Resourcen (für franz., ital., ...) beinhalten, müssen nachträglich auf einem bereits installierten System eingefügt werden können und sind bis zum nächsten Release gültig.

Ich bin jetzt auch schon ein kleines Stück weiter.
Es sieht so aus, dass die Patches für die Sprachresourcen (LPs) die Patchsequenz durcheinander bringen. Völlig verstanden habe ich es immer noch nicht wie Media.DiskId, File.Sequence, Patch.Sequence zusammenhängen (schlaue Kommentare sind willkommen), aber der Ärger scheint aus einer unzulässigen Konfiguration/Kombination dieser Werte zu kommen. Habe Anzeichen dafür mit meinem gestrippten Installer im Orca gesehen, wo man die Patches nach einem administrativen Install einblenden kann und die neuen Dateien aus den Sprachpaketen doppelte Sequenzwerte (File.Sequenz) erzeugt haben.
Wenn man das Sprachpaket entfernt, die Hotfixes einspielt und dann das Sprachpaket wieder einspielt scheit alles gut zu sein (muss noch verifiziert werden, da das augenblickliche Testsytem Windows7 ist und der neue Installer das Problem zu beheben scheint.
Werde jetzt morgen das ganze noch mal mit dem Orignal-Installer auf einem alten OS durchführen.


Heike Storkebaum

Heike Storkebaum
  • Full Members
  • 13 posts

Posted 11 May 2010 - 11:40

Gut Ding will Weil ...

folgende Sequenzierung haben wir jetzt konfiguriert und bisher sind alle Probleme verschwunden:

Sprachpakete (befördern nur neue sprachspezifische Dateien auf den Rechner)
- Media DiskId = 3 ... 100
- SequenceStart = 5000 (> Anzahl der Dateien, die mit MSI installiert werden), 5200 (delta muss > Anzahl der neuen Dateien sein)
- Order = 1 (ggfs. wenn ein Sprachpaket gepatcht werden muss, 2, ...)
- Family Major.Minor.<Order>.0
- FamilyName Sprachpaket spezifisch

Hotfixes (ändern nur existierende Dateien)
- Media DiskId = 101, ....
- SequenceStart = 25000 (Release + Offset für Sprachpakete) + jedesmal Anzahl geänderter Dateien
- Order = 1, 2, ....
- Family Major.Minor.<Order>.0
- FamilyName konstant für alle Hotfixes
ab dem 2. Patch Supersede = 1

vielleicht hilft das ja dem ein oder anderen Patch-geplagten ...

Heike