Beeinflussen der Sortierreihenfolge für die DeInstallation fremder Produktfamilien beim MajorUpgrade

9. März 2007

Bei Windows Installer Setups wird innerhalb des MajorUpgrades mittels der Action RemoveExistingProducts eine DeInstallation allfälliger Vorprodukte initiiert. Die DeInstallation erfolgt dabei während des Installationsprozesses als eingebettete Installation innerhalb der gleichen Installationsinstanz. Um eine DeInstallation auszulösen muss der entsprechende UpgradeCode in der Upgrade Tabelle eingetragen sein und diesem eine Property über ActionProperty zugewiesen werden, welche über SecureCustomProperties als Public Property bekannt gemacht wurde. Die meisten Authoringtools verfügen über einfache Verfahren, diesen Upgrade zu implementieren. Schwieriger wird es, wenn man eine bestimmte DeInstallationsreihenfolge vorgeben möchte, vor allem wenn es sich um produktlinienfremde Applikationen handelt, die vor der eigenen Produktlinie entfernt werden sollen. Denn Windows Installer ermittelt die zu deinstallierenden Produkte über die Action FindRelatedProducts und sortiert die ermittelten ProductCodes nach eigenem Schlüssel. Die Sortierung setzt sich folgendermassen zusammen:
Den Rest des Beitrags lesen »


Vorgehen, wenn TTF-Dateien bei einem Major Upgrade nicht neu geschrieben werden

9. März 2007

Vielleicht haben Sie auch schon die Situation beobachtet, dass zum Teil True-Type Fontdateien (möglicherweise auch noch andere Arten von Dateien) bei einem Major Upgrade nicht neu kopiert werden. Ein Blick ins Web verrät zwar, dass offenbar mehr Leute als zunächst angenommen davon betroffen sind, meistens enden aber solche Forumsbeiträge entweder unbeantwortet oder mit einem fassungslosen „kann ich auch nicht verstehen“.

Beispiele:
http://community.macrovision.com/archive/…
http://groups.google.ch/group/microsoft.public.windows.msi…
http://forums.altiris.com/messageview.aspx?…

Der Grund für dieses Verhalten ist darauf zurückzuführen, dass Windows Installer im Gegensatz zu den meisten Authoringtools andere Algorithmen zur Bestimmung einer Dateiversion anwendet!
Wird in einem Major Upgrade die Action RemoveExistingProducts in der InstallExecuteSequence Tabelle gemäss Empfehlung von Microsoft ( http://msdn2.microsoft.com/… ) nach InstallValidate eingeordnet, so kann sich bei augenscheinlich unversionierten TTF-Dateien folgendes Verhalten zeigen: CostFinalize weist beim MajorUpgrade folgende Zeile aus:

Den Rest des Beitrags lesen »


Repaketier kein Windows Installer Setup

9. März 2007

Für den Softwareverteilungsprozess geltende „Best practice“ Ansätze und Richtlinien im Handling von MSI-Dateien.

Kaum haben wir uns an das Repackaging gewohnt, werden wir nun vor allem durch die Verbreitung von Hersteller-Setups basierend auf Windows Installer Technologie vermehrt gezwungen, andere Mechanismen zur Paketerstellung zu verwenden. Dass es sich dabei nicht zwingend um unangenehme Paketiermechanismen handelt, soll hier aufgezeigt werden. Daneben werden wir auch verstehen lernen, warum es so immens wichtig ist, dass Herstellersetups, die die Windows Installer Technologie verwenden möglichst nicht aufgezeichnet werden sollten.

Den Rest des Beitrags lesen »