@ Peter
LOL
Wie gesagt, ich will weiß Gott keinen bekehren was das Thema MSI anbelangt, aber falsche Statements möchte ich eigentlich nicht stehen lassen. Ich entwickle MSI Pakete seit ca. 7 Jahren, und mit dem Thema SW Verteilung beschäftige ich mich seit nun mehr 15 Jahren. Ich weiß wahrlich auch nicht alles über MSI, aber so ganz "von gestern" bin ich diesbezüglich auch nicht - hoffe ich ... dachte ich wenigstens

.
@algol
Aus meiner Erfahrung kann ich dir versichern, dass das setup von H. Ghisler eine eher seltene und rühmliche Ausnahme ist, was Transparenz anbelangt. Das ist vielleicht kein Einzelfall, aber selten - ich glaube da sind wir uns bestimmt einig.
Ich dachte wir diskutieren eher über die grundsätzlichen Vor- und Nachteile der einen- oder anderen Technologie - das TCM Setup als positives Beispiel für ein gutes EXE Setup ins Feld zu bringen ist ein cleverer Schachzug, aber schon fast unsportlich

... kleiner Scherz

.
Aber zurück zum Thema.
Hast Du schon mal folgende Kommando-Zeile bei einem MSI ausprobiert?
"msiexec.exe /a anwendung.msi"
Das nennt man "Administratives Setup" (wobei es verschiedene Begriffe dafür gibt).
Damit extrahierst Du sämtliche Dateien des Setups (sofern diese über die entsprechenden MSI Tabellen definiert wurden) in ein Verzeichnis, das Du angeben kannst.
Unter "0" Transparenz verstehe ich etwas anderes
UND (korrigiere mich, wenn ich mir irre):
Du kannst zwar die Dateien aus dem .EXE Setup des TCM heraus holen, aber die wirkliche Installations-Logik kannst Du NICHT sehen. Warum z.B. möglicherweise die eine Version einer Datei installiert wird und nicht die andere (z.B. eine Variante für 32bit System und eine andere für 64bit Systeme) weiß nur der Setup Entwickler, soweit kannst Du in ein .EXE nicht hineinsehen. Bei MSI geht das schon, wenn man das wissen möchte (z.B. für Trouble Shooting).
Das mit der Holschuld habe ich nicht verstanden.
Es geht ja nicht um das holen
müssen von Informationen, sondern um das
können (!).
Bei MSI
kann man, bei EXE (von rühmlichen Ausnahmen abgesehen) in aller Regel nicht (und schon gar nicht im Detail bzgl. Installationslogik).
95% aller Hersteller Setups werden mit InstallShield erstellt. Bei denen kann man noch nicht einmal die .CAB Dateien öffnen (zumindest nicht dass ich wüsste einfach mal so).
Und abgesehen von dem kostenlosen MS Tool "Orca" (dem man natürlich mistrauen kann, weil MS), liefert Google jede Menge Treffer, wenn man nach "msi editor freeware" sucht.
Und dann gibt es ja auch noch die professionellen Tools wie z.B. von Wise/Symantec, die man als Eval Version herunter laden kann.
Also wer will hat wirklich viele Möglichkeiten ein MSI zu analysieren.
Thema Viren:
Wie gesagt, mit /a kann man i.d.R. alle MSI Pakete "öffnen", also zumindest die sich darin befindlichen Dateien extrahieren und damit auch auf Viren checken.
Und wenn ein Hersteller "custom actions" zum Installieren von Dateien anstelle von MSI Tabellen verwendet (und damit wieder eine black-box verwendet, weil man über /a NICHT einsehen kann, was da passiert), dann sollte er wenigstens einen sehr guten Grund dafür haben.
BTW … es gibt übrigens sogar ein PlugIn für den TCM, mit dessen Hilfe man MSI Dateien wie eine ZIP Datei öffnen kann:
http://www.ghisler.com/plugins.htm
=> MSI 1.2
"Touchée" würde ich sagen

.
Unbestritten ist nun, dass eine MSI-Installation weitgehend ebenso ablaufen könnte, vom registry-overhead abgesehen, dies aber aus meiner praktischen Beobachtung kaum jemals tut.
Tja, da kann ich Dir durchaus zustimmen, aber das kann man nicht der Technologie anlasten, sondern das liegt am Entwickler des Setups. So wie es gute und schlechte EXE Setups gibt, so gibt es auch gute und schlechte MSI Setups.
Es wurde hier u.a. festgestellt, dass nach MSI-Deinstallation (angebliches rollback) der ursprüngliche Zustand wiederhergestellt würde. Wer dies allen Ernstes behauptet, hat nun entweder selbst keine Ahnung und plappert einfach MS-Propaganda der übleren Art einfach nach - oder aber (weil wir solches Verhalten hier niemandem unterstellen wollen), er verfügt nur über einen lausigen registry-editor, etwa nur das eingebaute regedit, der es nicht gestattet, einen exakten vorher-/nachher- Vergleich der registry 1. im ursprünglichen Zustand / 2. nach dem sogenannten rollback durchzuführen.
Ollala ... starker Tobak

. Muß ich mich da angesprochen fühlen? Erstens plappere ich nichts nach, zweitens arbeite ich nicht mit lausigen Tools (bei allem Respekt: Wer Wise Package Studio ernsthaft als lausiges Tool bezeichnet hat nun wirklich selber keine Ahnung) und drittens bilde ich mir zumindest ein, ein bisschen mehr als Bücherwissen in Bezug auf die MSI Technologie zu haben.
Fazit: Ich fühle mich nicht angesprochen
Kann es sein, dass Du Roll-Back und Uninstall verwechselst, bzw. in einem Topf wirfst?
Wenn eine MSI Installation anfängt Dateien zu installieren, und dabei ggf. vorhandene Dateien überschreibt, so werden die überschriebenen Dateien zunächst einmal temporär (so lange die Installation läuft und noch nicht erfolgreich abgeschlossen wurde) in C:\config.msi zwischen gespeichert.
War die Installation aus Sicht von MSI erfolgreich wird dieser Ordner gelöscht (manchmal bleibt tatsächlich auch ein leerer Ordner zurück - ja ... das ist dann Müll

).
War die Installation NICHT erfolgreich, so werden die temporär zwischen-gespeicherten originalen Dateien zurück kopiert, so dass (zumindest mehr oder weniger im Rahmen des sinnvollen und möglichen) der ursprüngliche System Zustand wieder hergestellt wird.
Das ist die Default Einstellung und eine im MSI System grundsätzlich integrierte Basis-Funktionalität!
Mag sein, dass das je nach Komplexität eines Setups und nicht zuletzt bedingt durch die spezifische Systemumgebung nicht immer 100% perfekt funktioniert, aber das jeweils betroffene System bleibt mit extrem hoher Wahrscheinlichkeit zumindest in einem so guten Zustand, dass man damit weiter arbeiten kann, und auch die anderen Anwendungen korrekt funktionieren! Gäbe es diesen Rollback nicht würde so mancher Rechner nach einer abgebrochenen Installation den nächsten Reboot nicht mehr überleben.
Und jetzt zeig mir mal eine ähnliche Technologie aus der .EXE Welt, die auch wirklich jemand in sein .EXE Setup implementiert hat! Nicht dass das nicht auch mit .EXE möglich wäre, aber aus meiner Erfahrung weiß ich: Das macht niemand!
Das mit dem Roll-Back kannst Du ja mal selber mit einem MSI Setup Deiner Wahl ausprobieren. Voraussetzung ist natürlich, dass es auch etwas zum Zwischenspeichern gibt. Dann mal C:\config.msi beobachten.
OK ... ich arbeite halt viel in großen Umgebungen, und da sind mir (und wohl den meisten Systemadministratoren) pragmatische Lösungen die funktionieren einfach wichtig. Prio eins bei einem RollOut auf 5000 Rechner ist eine hohe Erfolgsquote und dass die Rechner nach einer Installation wenigstens wieder booten. Ob da mal der eine oder andere Key, oder die eine oder andere Datei nach einer Deinstallation zurückbleiben (vielleicht ist das ja sogar ganz sinnvoll - siehe wincmd.ini) ist da eher ein akademisches Thema.
Nicht während der Installation, nein, später, bei laufendem Betrieb, werden verborgene "Helferlein" aktiv und stellen dreist einen vermeintlichen "Sollzustand" wieder her, ohne dass dies vom rechtmässigen Benutzer oder Administrator autorisiert worden wäre.
In großen Umgebungen sind das keine "vermeintlichen" Sollzustände, diese vordefinierten Installationszustände sind eine für einen effizienten Betrieb von PC Systemen
unumgängliche Notwendigkeit, mit Dreistigkeit hat das nichts zu tun.
Diese Helferlein sind auch keine unbekannten, gar unberechenbare oder gar böswilligen Kobolde sondern sind durchaus gute Bekannte (wenn man sich überwindet sie näher kennen lernen zu wollen

).
Das Helferlein hört übrigens auf den Namen "Self-Repair" und ich würde es eher als gutartiges Heinzelmännchen bezeichnen

. Jedenfalls habe ich persönlich noch nie gehört, dass nach einem MSI-Repair eine Anwendung nicht mehr funktioniert hätte, die hat i.d.R. davor nicht mehr funktioniert, bzw. wahrscheinlich hat man (Benutzer) noch nicht einmal gemerkt, dass die Anwendung nicht mehr funktioniert hat, weil ja der Self-Repair bereits beim Programm-Start alles wieder in Ordnung gebracht hat. Übrigens werden bei einem Self-Repair keine Programm-Konfigurationen geändert, zumindest nicht wenn man das richtig macht (das MSI).
@lefteous
Guter Punkt, in der Tat.
Es gibt diesbezüglich tatsächlich ein paar Dinge, die man (der Entwickler) beachten muß/kann.
Wenn man z.B. beim Kompilieren eines MSIs festlegt, dass nur EIN einziges MSI erzeugt wird (also kein .msi Datei + externe .cab Datei), dann wird bei der Installation eines MSI Setups die IN dem MSI befindliche .CAB Datei temporär erst einmal extrahiert.
Das kostet Zeit.
Kann man aber auch anders machen indem man z.B. ein .MSI
PLUS eine externe .CAB Datei erzeugt.
Letzteres ist aber eher die Ausnahme, eine Distribution ist mit einem MSI ohne zusätzliche .CAB Datei(en) "sicherer" - User/Administrator könnte die .CAB Datei "vergessen" - Installation läuft nicht => Prio 1: Vermeidung von potentiellen Fehlermöglichkeiten!
Aber auch das Zwischenspeichern der "Roll-Back" Dateien kostet natürlich Performance, hier wird Sicherheit durch mehr Zeit erkauft.
Insofern stimmt das schon, eine MSI Installation ist wohl eher langsamer als eine .EXE Installation.
Aber wenn wir mal ehrlich sind: Selbst bei einer manuellen Installation kommt es nicht wirklich auf Performance an, wir sind ja nicht auf der Flucht.
Und in einer großen Umgebung ist Performance an dieser Stelle nun wirklich das letzte, worüber man sich "einen Kopf macht".
@ karlchen
Gut gebrüllt Löwe

. Ungeschick lässt grüßen. Gut gemeint, aber ungeschickt ausgeführt, so sieht es wohl aus.
Und wie ich oben schon geschrieben habe: Es gibt sogar ein PlugIn für den TCM um Dateien aus einem MSI zu extrahieren.
@ C. Ghisler
Freut mich zu hören, dass das mit dem MSI OK ist. Wir hatten ja schon vor einiger Zeit mal darüber gesprochen, bzw. uns per Mail ausgetauscht. Ich hatte das Thema nur aus zeitlichen Gründen wieder etwas vertagen müssen.
Mein Anliegen ist ja nun wirklich nur der TCM Fan-Gemeinde etwas aus meiner Sicht positives beizusteuern.
Ich habe auch in den Foren gesehen, dass MSI und Rollout immer wieder mal ein Thema war. Und aus vielen Paketierungs-Projekten weiß ich, "wo der Schuh drückt" wenn es um das Automatisieren und Konfigurieren von Anwendungen geht.
Ein MSI Setup ist keine Notwendigkeit, bei einer manuellen Einzelplatz Installation schon gar nicht, das hatte ich ja bereits geschrieben. Aber alle (oder zumindest die meisten) Systemadministratoren die Software verteilen müssen bevorzugen i.d.R. ein MSI Setup. Da weiß man was drin steckt und wie das Setup tickt. Man sieht welche Properties verwendet werden und man versteht i.d.R. schnell, wie man diese für seine (Kunden) Bedürfnisse einsetzen, sprich konfigurieren kann (selbst wenn es keine Doku gibt).
Und für kleinere Änderungen genügt durchaus das kostenlose Tool "Orca" von MS. Damit erstellt man ein Transform ohne das Hersteller-Setup verändern zu müssen.
wie der key mit installiert werden kann, deshalb muss man bei grossen Firmen sowieso ein eigenes MSI-Paket erzeugen.
Wie ist das mit dem Key gemeint? Es gibt doch die wincmd.key Datei, die zur Lizensierung benötigt wird?!?
Hat man ein MSI Setup (ohne Lizenz-Key), so muß der Paketierer lediglich ein MSI TRANSFORM erstellen, das die entsprechende Lizenz-Datei quasi zur Laufzeit der Installation mitgibt. Dabei macht es vom Aufwand keinen wesentlichen Unterschied, ob eine Lizensierung per Datei (wie beim TCM) oder z.B. per Reg-Key umgesetzt wird.
Den Aufwand für die Erstellung des TRANSFORMS würde ich auf ca. 5 Minuten schätzen (egal ob Datei oder Registry Lizensierung).
Denkbar wäre auch eine Custom Action zu implementieren, die während einer Installation im Verzeichnis, in dem auch das MSI Setup liegt, nachsieht, ob es dort eine wincmd.key Datei gibt und wenn ja, diese Datei in das Installationsverzeichnis des TCM kopiert.
Also ... da kann man sich bestimmt mehrere Lösungen ausdenken.
Ein grundsätzliches Thema ist auch, ob es vom Hersteller erlaubt (toleriert wird), dass bei einem Massenrollout immer die selbe (!) wincmd.key Datei verteilt wird, etwas anders ist nämlich nicht ohne größeren Aufwand realisierbar.
Entscheident sollte letztendlich sein, dass der Kunde ausreichend Lizenzen gekauft hat. Aber das ist meine persönliche Meinung.
vg,
Hans