Skip to content

Repackaging: Ja oder Nein, das ist die Frage

Hierzu ein Zitat aus der Xing Gruppe „Installation Automatisierung”:

Microsoft warnt seit Jahren vor unzuverlässigen Repaketierungs-Verfahren.
Gemäss Aussagen von Microsoft :
- ist Neupacken ist ein schwieriger, zeitaufwändiger und fehleranfälliger Prozess und sollte nur verwendet werden, wenn kein effizienteres Verfahren zur Installationsautomatisierung verfügbar ist;
- ist Neupacken ein komplexer Vorgang; Tools können zwar den Paketierer beim Erstellen von Windows Installer-Paketen unterstützen, aber diese Verfahren sind ressourcenaufwändig und damit teuer;
- werden die durch das Neupacken verursachten Kosten oft völlig unterschätzt.

Auf Basis unserer langjährigen Erfahrung können wir diese Aussagen von Microsoft vollumfänglich unterstützen. Die Argumentation lässt sich aus unserer Sicht noch erweitern:
Beim MSI Repaketieren wird die gesamte, vom Anbieter erarbeitete und getestete Installationslogik zerstört. Je perfekter der Anbieter der Software die Installationsroutinen gestaltet hat, desto mehr Aufwand erfordert die Repaketierung:
- Durch das repaketierte Setup werden Conditions und Abhängigkeiten nicht geprüft;
- CustomActions des Herstellers werden auf dem Client nicht ausgeführt;
- Keine Möglichkeit einer parallelen Installation für 32- und 64-Bit Systeme:
- Hersteller-Patches können nicht mehr original angewendet werden.
- Repaketierte Anwendungen werden vom Hersteller nicht mehr unterstutzt


Diese Aussage ist vielleicht etwas provokativ, trifft im Kern aber sehr gut die Realität. Wenn ich 3-4 Jahre zurückblicke war Repaketierung der absolute Hype, koste es was es wolle...

Ich kann mich an eine Situation erinnern, es ging um eine Fachapplikation, die verteilt werden musste. Der Hersteller hatte sich sehr viel Mühe mit dem Installer gemacht und nahezu jedes Setting war über einen Parameter steuerbar. Geschätzter Automatisierungsaufwand ca. 5-6 Stunden.

Da die Firmenphilosophie jedoch Repacketierung „vorschrieb”, musste ein MSI erstellt werden, tatsächlicher Aufwand 47 Stunden! Einen Monat später kam ein Update der sich leider nicht mehr Silent einspielen lies, es wurde ja repaketiert... Aufwand 8 Stunden für das Repackaging, statt ca. 2 Stunden für die Automatisierung. Es gab hinterher Probleme mit der Applikation, der Hersteller lehnte jede Form von Support ab, da nicht der Original Setup verwendet wurde... Das Ende vom Lied war, MSI runter und neu automatisiert verteilen. Ach ja, das Programm benötigten 6 Clients!

OK, ich gebe zu das dies ein ziemlich extremes Beispiel ist. Fairerweise gestehe ich auch, das es umgekehrt genauso sein kann. Jedoch ist die Automatisierung meist schneller und flexibler.

Eines der Hauptargumente das Pro Repackaging gebracht wird, ist die bessere Erfolgsquote bei der Verteilung. Nachfolgend 2 Beispiele die die Thematik verdeutlichen.

Ich kenne eine Umgebung in der die Clients alle gleich sind, wenn ich hier „gleich” schreibe meine ich auch „gleich”. Hunderte PC's die sich gleichen wie ein Ei dem anderen, Hardware, BIOS, Treiber, Zusatzsoftware, alles repaketiert, alles absolut identisch. (Standardisierungsgrad: 100%) Wird hier ein Paket verteilt, läuft es zu ca. 97-98% durch...

Eine andere Umgebung besteht aus 6-7 Hardware Modellen von 2 Herstellern, OS in 3 verschiedenen Sprachen, Zusatzsoftware sehr individuell, das meiste automatisiert (Standardisierungsgrad: niedrig, zumindest ist kein OS Preinstall mehr im Einsatz ;-)) Eine Verteilung hier läuft zu 93-95% durch...

Das erste Unternehmen betreibt einen sehr grossen Aufwand um die 700 Clients absolut standardisiert zu halten. Das zweite Unternehmen betreibt sehr viel weniger Aufwand um die 500 Clients zu verwalten, erstaunlicherweise differieren die Verteilquoten längst nicht so stark wie man vermuten würde!

Trotz der 15-20 PC's die Unternehmen 2 zusätzlich nachbereinigen muss, managen sie ihre Clients deutlich effizienter und günstiger! Arbeiten doch beim ersten Unternehmen 4 Mitarbeiter Vollzeit(!) in der Paketierung. Bei grösseren Updates kommen dann duchaus nochmal 1-2 „Externe” dazu (MSI und MSP sind halt arbeitsintensiv). Unternehmen 2 hingegen benötigt 1.75 Mitarbeiter die die Paketierung erledigen, übrigens nur „nebenbei”, dieselben Mitarbeiter sind noch für das gesamte Client Engineering verantwortlich!

Inzwischen sind beide Firmen auf Windows 7 migriert. Firma 2 hat den Schritt von XP zum neuen OS mit relativ wenig Aufwand für die Paketierung bewältigt. Wenn die Software Win 7 kompatibel war, liess sie sich in der Regel auch mit den bestehenden automatisierten Paketen installieren. Ungefähr 10% der Pakete mussten angepasst werden. Firma 1 hingegen sah sich damit konfrontiert das ca. 60-70% der Pakete nicht mehr unter Win 7 liefen (die Installation war nicht das Problem). Die Pakete waren nun mal auf XP angepasst und hätten theoretisch neu erstellt oder zumindest intensiv angepasst werden müssen. Dieses Unternehmen hatte Ende letzten Jahres übrigens einen Anteil von über 50% an automatisierten Paketen!

Nein, ich bin kein Gegner des Repackaging! Auch kein Verfechter der Automatisierung! Mein Fokus liegt auf „Best Effort”

Beide Methoden haben ihre Vor- und Nachteile, unbestritten. Aber ist es wirklich nötig einen FlashPlayer oder eine Java Runtime zu repaketieren? Sollten Sie den Schritt zu Windows 7 noch vor sich haben, prüfen Sie ob Automatisierung vielleicht doch eine interessante Alternative ist.

Ich weiss das ich mir für diese Sichtweise Minuspunkte einhandeln kann, lässt sich mit Repackaging doch gut Geld verdienen ;-)

In den letzten Projekten haben wir jedoch fast nur noch automatisiert und nur im „Notfall” repaketiert, auf Wunsch der Kunden...

Trackbacks

SoftwarePaketierung.ch am : Repackaging - Automatisierung

"Repackaging - Automatisierung" vollständig lesen
Hier ist ein Video das den Unterschied zwischen Repaketierung und Automatisierung von Software Paketen ziemlich gut zeigt Softwarepaketierung - Softwareautomatisierung in 1 minute erklärt Die Kurzversion ist eher für die „Techniker”, die f

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Kami am :

"Aber ist es wirklich nötig einen FlashPlayer oder eine Java Runtime zu repaketieren?"

Diese Frage lässt sich mit einem definitiven "Ja" beantworten.
Um deine Beispiele aufzugreifen: Die Deinstallationsroutinen von FlashPlayer und Java sind eine wahre Katastrophe.
Die Vorteile von MSI werden nicht ausgenutzt, z.B. keine funktonierenden Reparaturen (Java) und Deinstallationen die nicht funktionieren (FlashPlayer [CustomActions wo das aufgerufene Binary die Versionsnummer der alten Version im Namen hat]).
Solange die Applikationshersteller es nicht hinbekommen MSI so zu verwenden wie es zu verwenden ist und bei Deinstallationen das System zerstören (worst case), gibt es keinen Weg, der an der Repaketierung vorbeiführt.

Kami

Stefan Rossbach am :

Hoi Kami

Was FlashPlayer und Java betrifft gebe ich Dir vollkommen Recht, was die original (MSI) Setups betrifft. Was das definitive "Ja" betrifft bin ich anderer Ansicht.
Zum FlashPlayer existiert von Adobe der Uninstaller (http://kb2.adobe.com/cps/141/tn_14157.html). Der räumt gründlich alle alten Versionen auf, das einzige was übrig bleibt ist das "Macromed" Verzeichnis. Dies ist meines Erachtens durchaus tolerierbar, da bin der Regel ja gleich eine neue Version installiert wird...
Bevorzugt silent per EXE, das funktioniert problemlos und ist deutlich schneller! So ist übrigens auch das Original MSI von Adobe aufgebaut.

Was den Repair betrifft, muss ich sagen ich kenne keine Umgebung, weder KMU noch Enterprise, in den wirklich ein Repair gefahren wird. Der Repair ist zwar immer als Punkt auf dem Abnahme Protokoll, im produktiven Betrieb wird allerdings immer deinstalliert/installiert, vielleicht auch, da die Softwareverteilungen den Repair nicht so optimal unterstützen...

Der Java Uninstall funktioniert meiner Erfahrung nach relativ gut, wenn man von den "Leichen" im Userprofil mal absieht. Das ist aber sowiso ein generelles Thema, nicht nur in der Windows Welt...

Stefan

Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
BBCode-Formatierung erlaubt
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Um einen Kommentar hinterlassen zu können, erhalten Sie nach dem Kommentieren eine E-Mail mit Aktivierungslink an ihre angegebene Adresse.