Ontrex Best Practices Part I

In unsere Serie “Ontrex Best Practices” präsentieren wir regelmässig Packaging Best Practices aus dem Hause Ontrex.

Die ersten “Best Practices”,  die wir erläutern werden, sind:

  • Nach leeren Komponenten überprüfen
  • Launch Conditions

Nach leeren Komponenten überprüfen

Leere Komponenten können ein Software Paket in Teufels Küche bringen und je nach Konstellation sogar einen Endlos Selfrepair verursachen.

Das Vorhanden sein solcher Komponenten kann man durch 2 Methoden überprüfen:

  1. Auf der Komponentenansicht ( alle Komponenten durchklicken, das heisst: erste Komponente anwählen und danach mit “Pfeil Unten” durch die gesamte Komponentenliste blättern. Verschwindet ein Plus, deutet dies auf eine leere Komponente hin und diese sollte somit gelöscht werden.
    emptycomponent
  2. “Ontrex Like”, eine eigene Windows Installer Validierung programmieren.
    ICE

Launch Conditions

Die LaunchCondition-Tabelle, sowie die zugehörige LaunchConditions Aktion,  dienen zur Überprüfung von Vorraussetzungen für die Installation. Falls die Conditions nicht erfüllt werden, bricht die Installation mit einer definierten Fehlermeldung ab.

Ein Beispiel hierfür: Ein “Office Plugin”-MSI überprüft zuerst, ob die Office Suite überhaupt installiert ist und gibt ansonsten eine Fehlermeldung aus, da es sonst keinen Sinn macht das Produkt zu installieren.

Leider vergessen viele beim Einsatz dieser Tabelle, das die Aktion LaunchConditions unkonditioniert ist und somit auch bei einer Reparatur oder Deinstallation durchgeführt wird.

Um das vorherige Beispiel weiterzuführen: Nach einer späteren Deinstallation des Office Paketes bemerkt man, dass noch das Plugin installiert ist und will dieses  mit deinstallieren. Die Deinstallation schlägt aber fehl mit der Begründung das Microsoft Office nicht installiert ist.

Doch wie begegnet man diesem Problem?

Unserer Meinung nach ist eine Konditionierung der LaunchConditions-Aktion mit “Not Installed” (Case Sensitive) am sinnvollsten.
Man sollte aber nicht vergessen, dies in der InstallSequence sowie in der InstallUISequence Tabelle anzupassen.

launchconditions

Post Navigation