setup in silent mode

Alle Fragen rund um die ACMP Client Commands
Antworten
nuexx
Beiträge: 4
Registriert: Mo Sep 13, 2010 2:05 pm

Hallo,

wie kann ich ein Programm, was nur über eine setup verfügt, im silent mode installieren bzw. deinstallieren.

"/S , /s , /silent, /verysilent" hab ich schon probiert, aber nicht zufriedenstellend.


Danke
henry
hschriek
Beiträge: 136
Registriert: Do Dez 29, 2005 6:09 pm

Guten Morgen!

Zu dieser Frage gibt es leider keine pauschale Antwort. Jedes Setup kann sich da unterscheiden, was die Parameter angeht.
Es muss nicht mal einen Parameter zur Silent Installation geben.
Bei manchen Setups muss man eine Datei mit vorausgewählten Einstellungen neben das Setup legen.

Das alles findet man im Internet oder beim Hersteller der Software.
Eine gute Seite für geheime Switches bei Installationen ist die Seite AppDeploy.com
Mit freundlichen Grüßen,

H. Schriek
thellweg

Hallo Henry,

ich kann mich dem Statement von Holger nur anschliessen, möchte aber einen ergänzenden Hinweis zu dem Thema geben.
Vielleicht hilft Ihnen mein Hinweis weiter und Sie bekommen Ihr "störrisches" Setup dadurch doch noch "silent" installiert.

Der Windows Installer Dienst, welcher sich inzwischen als Bestandteil des OS auf jedem Windows-PC findet, kann jede Installation eines MSI-Paketes "silent" durchführen. Da sich das MSI-Format inzwischen als "de facto Standard" für Softwareinstallationen durchgesetzt hat werden immer mehr Softwareinstallationen in Form von MSI Paketen ausgeliefert. Oft sind diese MSI-Pakete allerdings in einem "Setup" versteckt.

Nachfolgend möchte ich erklären warum die Softwarehersteller die MSI-Pakete scheinbar "verstecken" und einige Tipps geben, wie man solche eingebetteten MSI-Pakete aufspüren und nutzen kann um z.B. eine "Silent Installation" damit durchzuführen, welche das dazugehörige Setup-Programm nicht unterstützt.

Der Grund warum der Softwareentwickler sein MSI-Paket hinter einem Setup "versteckt" ist meist nachvollziehbar. Wir alle kennen die Dialogfenster einer Softwareinstallation. In diesen Dialogen werden Angaben, welche den Ablauf und das Ergebnis der nachfolgenden Installation beeinflußen, abgefragt. Somit hängt das Resultat der Installation davon ab welche Programmfeatures ausgewählt, welche Verzeichnisse angegeben, welche Lizenznummer eingegeben wurden... usw. Diese individuell verschiedenen Werte werden also von der Installation verwendet um den Installationsablauf zu steuern. Bei einem, "hinter einem Setup versteckten", MSI-Paket werden die vom Benutzer eingegebenen Werte meist in Form einer "Public Property" an den Windows Installer übergeben oder es wird daraus eine Transformdatei (.MST) erstellt. Der Windows Installer wendet dann, bei der Installation des MSI-Paketes, die Transformation auf das MSI an, bzw. er ersetzt die im MSI Paket enthalten Defaultwerte der "Public Properties" durch die in den Dialogfenstern angegebenen Werte.

"Klassische" Setups, welche kein eingebettetes MSI-Paket enthalten, arbeiten oftmals mit Antwortdateien, welche in den unterschiedlichsten Formaten vorkommen können. Aus diesen Dateien werden, bei einer "Silentinstallation", die für die Installation erforderlichen Parameterwerte ausgelesen, welche bei einer "händischen Installation" in den Dialogfenstern eingetragen würden. Hier hilft der Tipp von Holger weiter, denn die möglichen Parameter zur Erstellung und Nutzung einer solchen Antwortdatei bekommt man meist an der Kommandozeile (oft durch den Aufruf "SETUP-XY.EXE /?) angezeigt. Wenn nun aber ein Softwaresetup keine Schalter zur Silentinstallation anbietet, ist man hier zunächst einmal ratlos. Wenn es sich dabei jedoch um ein Setup mit einem eingebetteten MSI handelt, dann gibt es einen Weg! Diesen werde ich nun versuchen aufzuzeigen.

Zunächst sollte man ermitteln ob das "störrische" Setupprogramm möglicherweise ein MSI-Paket verwendet. Dies ist eigentlich relativ einfach herauszufinden. Die sichtbaren Anzeichen dafür wären das "MSI-typische" Erscheinungsbild der Fenster während des Installationsprozesses und/oder die darin angezeigten Meldungstexte. Wenn dort ein Text wie "Windows Installer ermittelt den erforderlichen Speicherplatz..." erscheint, dann ist es offensichtlich. Ansonsten könnte man den Taskmanager bemühen und dort unter den Prozessen nach verstärkten Aktivitäten der "msiexec.exe" Ausschau halten. Sind dort ein oder mehrere Prozesse von "msiexex.exe" während der Installation aktiv, dann handelt es sich auch um ein MSI-Paket, welches über das Setupprogramm installiert wird.

Nun gilt es das MSI-Paket zu finden, denn in den wenigsten Fällen findet man die *.MSI Datei des Paketes direkt in den Installationssourcen auf der CD.
In den den Fällen, wo sich keine MSI-Dateien auf der CD finden lassen, ist das MSI-Paket in den Dateien der Installation "verpackt". Es wird aber entpackt und liegt, zumindest für den Zeitraum der Installation, als MSI-Datei in einem Ordner. Dieser liegt i.d.R. unter DOCUMENTS AND SETTINGS\USERNAME\LOCAL SETTINGS\TEMP. Da die MSI-Datei dort, nach dem Abschluß der Installation, wieder entfernt wird, sollte man den Installationsprozess starten, dann aber in einem (möglichst dem letzten) Dialogfenster "stehen lassen" ohne auf WEITER zu klicken. Nun kann man in Ruhe auf die Suche nach der MSI Datei gehen, die sich i.d.R. in einem Ordner (Datumsstempel helfen hier) unter dem o.g. Pfad befindet. Einmal gefunden, kopiert man sich die MSI-Datei oder besser noch den gesamten Ordner an einen "sicheren Ort".

Im nächsten Schritt wechselt man zurück zu dem noch immer wartenden Installationsdialog und startet dort den Installationsvorgang. Während dieser läuft sollte man den Ordner, in welchem die MSI-Datei gefunden wurde, gut in Auge behalten. Oftmals werden dort, meist nur temporär, weitere nützliche Dateien erzeugt, die man sich dort mit ein paar flinken Klicks herauskopieren kann, bevor der Setupprozess sie wieder löscht. Im Idealfall erwischt man dabei eine MST-Transformation, in welcher die Eingaben der Dialoge enthalten sind.

Ist dies gelungen steht einer "Silentinstallation" eigentlich kaum noch etwas im Wege!
Doch wie bekommt man die, in den Dialogfenstern abgefragten, Angaben mit in diese Installation?

Eine MSI-Installation benötigt bekannterweise ja keine Antwortdateien sondern sie bedient sich der, eingangs beschriebenen, Mechanismen (MST, Public Property).
Eine "Silentinstallation" des versteckten, aber gefundenen, MSI-Paketes wäre also möglich, wenn man die benötigten Propertywerte kennen würde bzw. über eine brauchbare Transformationsdatei (MST) dafür verfügen würde. Hier hilft ein kleines aber feines MS-Tool namens ORCA, welches im Internet frei heruntergeladen werden kann. Bei ORCA handelt es sich um einen Tabelleneditor für MSI-Pakete, d.h. man ist damit in der Lage ein MSI Paket "zu lesen" und "zu schreiben". Für alles was darüber hinausgeht würde ich jedoch vollwertige Autorenwerkzeuge, wie z.B. Wise-Packagestudio, empfehlen. Die Bedienung von ORCA ist dafür sehr einfach und beinahe selbst erklärend, man sollte sich davon jedoch nicht dazu hinreissen lassen mit ORCA ein MSI-Paket zu "redisignen". Für unsere Zwecke reicht es aber ohnehin aus einen Blick in die Tabelle mit dem Namen PROPERTY zu werfen. Dort finden sich nämlich unter anderem auch die, bereits mehrmals angesprochenen, "Public Properties". Man erkennt "Public Properties" an der Großschreibung ihrer NAMEN.
An dieser Stelle angekommen muß nun jeder "auf eigene Faust" ermitteln welche Properies für Seine gewünchte Installation verändert werden müssen/können. Meist sind deren Namen so gewählt, dass Rückschlüsse auf den Verwendungszweck gut möglich sind. Der Eintrag "ALLUSERS=1" in der Propertytabelle sorgt z.B. für eine maschinenbezogene Installation der Software, also "für alle Benutzer". Hier gilt, wie so oft im Leben, die alte Weisheit "probieren geht über studieren" und im Zweifelsfall hilft einem auch ein wenig "googlen" oder ein Besuch der Seite von APPDEPLOY weiter. Zum Thema Befehlszeilenparameter von MSIEXEC, zur Verwendung von MSTs und PROPERTIES, findet man ebenfalls im Internet ausreichend Informationen, sodass ich an dieser Stelle nicht weiter darauf eingehen möchte wie ein solcher Installationsstring aussehen sollte. Daher beende ich meinen Beitrag mit dem Hinweis darauf, dass es nicht notwendig ist die Property-Werte in der MSI-Datei zu verändern und das Paket neu abzuspeichern. Ich rate Ihnen dazu die Namen der betreffenden Properties zu kopieren um Tipfehler zu vermeiden und diese Properties an der MSIEXEC-Kommandozeile mit ihren gewünschten Werten zu befüllen.
Man kann mit ORCA übrigens auch Transformationen erzeugen, doch dies jetzt hier zu erläutern würde den Rahmen meines, ohnehin schon sehr langen, Beitrages sprengen.

Ich hoffe das ich Ihnen mit meinem Beitrag neue Impulse geben konnte. Vielleicht bekommen Sie ja damit nun auch Ihre Installation "silent" installiert!

Abschliessend noch der Hinweis, dass es auch eine Lösung für all jene Fälle gibt bei denen man mit meinem Tipp auch nicht weiterkommt.
Das Stichwort ist Repaketierung, also die Neuverpackung einer SETUP-Installation, in einem nach den Erfordernissen konfigurierten MSI-Paket.
Eine Repaketierung bietet erhebliche Vorteile gegenüber einer Setuproutine, vor allem im Hinblick auf die Problematiken welche durch Windows7 entstehen können.
Des Weiteren kann ein solches MSI-Paket so wunschgerecht gestaltet werden, dass Benutzeranteile sauber verteilt und Shortcuts nur in den gewünschten Ordnerstrukturen liegen. Die meisten vorteilhaften Features der MSI-Technologie sind ja allgemein bekannt, vor allem die Fähigkeit zur Selbstreparatur.

Falls Ihre Installation also (trotz meines Tipps) immer noch nicht "silent" laufen will, erstellt Ihnen die ACMP-PackageFactory gern ein repaketiertes MSI davon.
Sprechen Sie uns einfach an!
Zuletzt geändert von thellweg am Do Sep 23, 2010 7:59 am, insgesamt 1-mal geändert.
nuexx
Beiträge: 4
Registriert: Mo Sep 13, 2010 2:05 pm

Hallo Herr Hellweg,

vielen, vielen Dank für die Super Ausführung, ich werde gleich morgen alles ausprobieren und sie dann auf neue Erkenntnisse hinweisen.


Danke
henry
thellweg

Hallo Henry,

gern geschehen. Wir versuchen immer zu helfen, auch wenn es einmal nicht direkt um das Thema ACMP geht.
Um welche Software handelt es sich Ihrem Falle denn eigentlich?
Antworten