Jump to content

Batch-File in msi-Paket ausführen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Leute

ich habe mal wieder ein Problem...

Ich muss über einen W2K8 Programme per Softwareverteilung an die Clienten verteilen. Dabei soll eine Batchdatei prüfen, ob das zu installierende Programm schon vorhanden ist. Die Batchdatei ist schon geschrieben und funktionieren tut sie auch.

Allerdings soll diese Batchdatei sozusagen in der msi-Datei eingebunden sein, d.h. dass durch das Starten des msi-Paketes, erst das Batch-File (welches irgendwie in das Paket eingebettet werden muss) entscheiden soll und dann je nach Entscheidungen das Setup abbricht oder fortsetzt. (im Idealfall sogar noch das Vorgängerprogramm deinstalliert)

Habe auch schon Programme, wie SuperOrca o.Ä. getestet, hat mich aber leider nicht weiter gebracht...

Lg Passuh

 

Nachtrag: Dieses arme Wesen scheint das selbe Problem gehabt zu haben: http://www.mcseboard.de/windows-forum-scripting-71/msi-dateien-erstellen-2-116138.html

bearbeitet von Passuh
Link zu diesem Kommentar

Hallo,

 

worum muss das Prüfen auf Vorversionen, Deinstallation usw. ins MSI-File integriert werden? Ist es nicht sinnvoller, die "Softwareverteilung" übernimmt diesen Part? Was für eine Softwareverteilung nutzt ihr denn?

 

Gruß

Steffen

 

Nachtrag:

ok. Hab jetzt Deine vorhergehenden Threats gelesen. Offenkundig habt Ihr keine professionelle SW-Verteilung im Einsatz, sondern verteilt MSIs per GPO. Vermutlich wollt oder könnt Ihr - wie wir - dafür kein Geld in die Hand nehmen.

Weil ich spezielle Anforderungen habe und es auch gerne einfach mag, nutzen wir das freie "Smart Software Synchronisation" (http://www.smart-software-synchronisation.de/index.php/Hauptseite), für dessen Bedienung wir eine eigene Weboberfläche programmiert haben.

Vielleicht ist SSS ja auch etwas für Euch? Damit kann man problemlos auf vorhandene Installationen prüfen, Vorversionen automatisch deinstallieren, Abhängigkeiten zwischen Softwarepaketen definieren und vieles mehr. Die Erstellung von Log-Files ist natürlich auch dabei.

Es gibt zwar wesentlich mächtigere und dennoch kostenfreie Opensource-Lösungen als SSS (z.B. OPSI, OCS oder das sehr ähnliche WPKG), aber m.W. nichts was so genial einfach ist.

bearbeitet von s.k.
Link zu diesem Kommentar

Vielen Dank für deine Antwort s.k.

Ich bin nur ein Praktikant und mir wird vorgegeben, was ich zu tun habe... Mit der SSS wäre das ganze natürlich um einiges einfacher, aber leider soll ich die MSIs per GPO verteilen.

Es muss da auch eine Möglichkeit geben, das ganze so zu gestalten wie oben beschrieben, mein Chef möchte aber, dass ich das entweder alleine oder mit Hilfe von Forenbeiträgen lösen soll.

Ich hoffe trotzdem, dass mir hier jemand einen guten Tipp bezüglich meiner Aufgabe geben kann.

Lg Passuh

Link zu diesem Kommentar
Mit der SSS wäre das ganze natürlich um einiges einfacher, aber leider soll ich die MSIs per GPO verteilen.
Aus meiner Sicht _ist_ das eine Verteilung über GPO, denn den SSS-Interpreter startest Du sinnvoller Weise über eine Gruppenrichtlinie bei Start des PCs. Insofern wäre der Auftrag erfüllt... ;)

 

Es muss da auch eine Möglichkeit geben, das ganze so zu gestalten wie oben beschrieben, mein Chef möchte aber, dass ich das entweder alleine oder mit Hilfe von Forenbeiträgen lösen soll. Ich hoffe trotzdem, dass mir hier jemand einen guten Tipp bezüglich meiner Aufgabe geben kann.
Mit Advanced-Installer (Free Windows Installer - MSI Installer Tool) kann man MSIs bauen und darin über "custom actions" zu gewissen Zeitpunkten z.B. ein Batch-Skript an die cmd.exe übergeben. Andere Tools sollten das eigentlich auch können.

In Spezialfällen ist ein solches Vorgehen sicherlich sinnvoll. Ich nutze dies beispielsweise bei einigen Paketen, um nach der Deinstallation Verzeichnisse/Dateien zu löschen, die sonst verwaist übrig bleiben würden, weil sie erst bei Nutzung des Programms erzeugt werden und deshalb dem (De)Installer nicht bekannt sind.

Für Dein Anliegen erscheint mir dieser Weg aber generell nicht sinnvoll, weil zu aufwändig. Schließlich muss dies für jedes Programm individuell programmiert und ins MSI eingebaut werden. Wenn man das ordentlich machen möchte (Berücksichtigung ggf. diverser Eventualitäten, Auswertung der Returncodes etc.), ist dies nicht mehr ganz trivial!

 

Mich würde interessieren, ob Dein "Auftraggeber" bereits für sich diesen Weg so geht (Einbau ins MSI-File) und Du nun durch Eigenrecherche auf die gleiche Lösung kommen sollst oder ob er Dich auf einen Weg angesetzt hat, von dem er lediglich glaubt, dass er exisitent und geeignet wäre.

Ich vermute letzteres. Wenn dem so ist, würde ich ihm die (m.E. besseren) Alternativen zumindest auch aufzeigen.

Sollte hingegen ersteres der Fall sein, dann wäre es schön, wenn Du nach Auflösung des Rätsels an dieser Stelle darüber berichten würdest.

 

Gruß

Steffen

Link zu diesem Kommentar

Sry, dass ich so spät antworte...

Also ja ich soll durch eigenrecherche auf die Lösung kommen und mein Auftragsgeber geht denselben Weg ;)

Kennst du dich vllt mit mst-Dateien aus? Man kann doch den mst-Dateien Parameter geben oder? Die mst-Dateien mit den Parameter kann man wiederum zu den msi-Dateien hinzufügen und dnan wird doch das msi mit den Parameter installiert oder?^^

Link zu diesem Kommentar
Also ja ich soll durch eigenrecherche auf die Lösung kommen und mein Auftragsgeber geht denselben Weg ;)
Aber nicht den Weg über ein eingebettetes Skript, oder? :confused:

 

Kennst du dich vllt mit mst-Dateien aus? Man kann doch den mst-Dateien Parameter geben oder? Die mst-Dateien mit den Parameter kann man wiederum zu den msi-Dateien hinzufügen und dnan wird doch das msi mit den Parameter installiert oder?^^
An das MST-File werden keine Parameter übergeben. Ein MST-File enthält lediglich die gewünschten Änderungen gegenüber einem Ausgangs-MSI-File. Bei der Installation werden das MSI und das MST gemeinsam angewendet und ergeben so den gewünschten Zustand. Das "T" in MST steht für "Transform"!

Hier ist beschrieben, wie man dies per Skript oder per Gruppenrichtlinie anwendet: Admins-Tipps.net - Anleitungen für ein Unattended-Setup des Adobe Acrobat Reader 6.01

Und hier findest Du übrigens den Schalter fürs Logging, wonach Du ja in einem anderen Thread gefragt hast: http://www.winfaq.de/faq_html/Content/tip2000/onlinefaq.php?h=tip2032.htm

Das MST-File kann man selbst erstellen - z.B. mit Orca oder dem bereits genannten Advancedinstaller. Viele Hersteller liefern auch gleich ein produktspezifisches Tool mit, womit man sich komfortabel ein MST-File entsprechend seinen Wünschen erstellen kann.

Statt ein MST zu verwenden, könnte man sich alternativ auch ein neues MSI-File mit den gewünschten Änderungen basteln, denn in einem MSI-File kann man - wenn man weiss, was man tut und die richtigen Tools verwendet - nach Herzenzlust herumeditieren.

 

Gruß

sk

Link zu diesem Kommentar
Aber nicht den Weg über ein eingebettetes Skript, oder? :confused:

So wie ich das verstanden hab schon... :confused:

 

Und hier findest Du übrigens den Schalter fürs Logging, wonach Du ja in einem anderen Thread gefragt hast: Aufruf von MsiExec.EXE (Parameter)

Dankeschön :) Hab ich auch schon gefunden aber um das Logging zu aktivieren muss dem MSI dann doch die Parameter übergeben werden oder? (Würde das Logging gern mit den Befehlen /Lime erstellen)

 

Statt ein MST zu verwenden, könnte man sich alternativ auch ein neues MSI-File mit den gewünschten Änderungen basteln,... [/url]

Wie geht das dann mit der Softwareverteilung per GPO beim W2K8, wenn vor der installation vom Adobe erst überprüft werden soll ob eine bestimmte Datei existiert, und je nachdem ob die Datei vorhanden ist oder nich soll er das Programm auch installieren oder es sein lassen?

 

Bist mir echt ne gute Hilfe sk :)

 

Lg Passuh

Link zu diesem Kommentar
  • 3 Wochen später...
Wie geht das dann mit der Softwareverteilung per GPO beim W2K8, wenn vor der installation vom Adobe erst überprüft werden soll ob eine bestimmte Datei existiert, und je nachdem ob die Datei vorhanden ist oder nich soll er das Programm auch installieren oder es sein lassen?
Geht es nun konkret (und ausschließlich) um die Installation vom Adobe Reader?

Dafür gibt es von Adobe den Customization Wizard, welcher ein MST gemäß den eigenen Präferenzen erstellt. Die Deinstallation von Vorversionen ist eine mögliche Option. Siehe Adobe - Acrobat Developer Center - Enterprise deployment

 

Gruß

sk

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...