Jump to content

Automatisiert MSI - Installationen starten


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

Empfohlene Beiträge

Hallo zusammen,

 

momentan muss ich ein Programm schreiben, das aus selbstständig die übergebenen MSI-Installationsdateien ausführt. Dabei soll der Benutzer allerdings nur passive zuschauen. Optimal wäre es wenn ich den Installationspfad vorherbestimmen könnte. Kann mir dabei jemand helfen? Meinen bisherigen Code habe ich in einem alten Thread gelesen habe, läuft bei mir nicht.

 

Option Explicit

 

Dim objShell

 

Set objShell = WScript.CreateObject("WScript.Shell")

 

objshell.Run "msiexec /option Pfad\Dateiname.msi"

wscript.Sleep(500)

objShell.AppActivate("installer")

objShell.SendKeys("j")

 

Problem: Wenn ich bei /option z.B. /passive eingebe, dann öffnet sich ein Fenster, indem ich die möglichen Parameter aufgelistet bekomme.

Was muss ich bei /option eingeben?

Link zu diesem Kommentar

Vielen Dank thorgood,

 

leider funst das noch nicht richtig. Es kommt immer das Popupfenster mit der Auflistung der möglichen Parameter. Quelltext siehe unten. Auf der Homepage die du angegeben hast, habe ich auch nachgelesen, aber das hat auch nichts bewirkt. Hast du vielleicht noch nen Tipp? Hab auch schon mehrere Varianten von der Homepage ausprobiert.

Option Explicit

 

Dim objShell

 

Set objShell = WScript.CreateObject("WScript.Shell")

 

objshell.Run "msiexec /package C:\Programme\ACD Systems\Setups\ACDSee 4.0 PowerPack Suite.msi /qb-"

wscript.Sleep(500)

objShell.AppActivate("installer")

objShell.SendKeys("/passive")

Link zu diesem Kommentar

Muss es unbedingt ein VB Script sein ?

 

Als der Eingabeaufforderung oder in einer Batch Datei schreibst du:

msiexec /i "C:\Programme\ACD Systems\Setups\ACDSee 4.0 PowerPack Suite.msi" /qb-

 

Im VB Script ist es die gleiche Syntax mit doppeltem Hochkommata:

objshell.Run "msiexec /i ""C:\Programme\ACD Systems\Setups\ACDSee 4.0 PowerPack Suite.msi"" /qb-"

 

Wozu möchtest du hier ein Applikationsfenster aktivieren und Tastencodes senden ?

objShell.AppActivate("installer")

objShell.SendKeys("/passive")

 

thorgood

Link zu diesem Kommentar

Hallo thorgood,

 

vielen dank jetzt geht es. Das bringt mich in meiner Arbeit sehr viel weiter.

Das mit dem Fenster hat folgenden Hintergrund: Momentan erstelle ich eine Installationsplattform basierend auf HTML, wobei im Hintergrund VBScripte arbeiten. Wenn der User auf seinen Button klickt, soll er nichts mehr bei den Installationen eingeben müssen. Er kann inzwischen andere Dinge machen, aber auch den Installationsverlauf verfolgen. Deshalb /passive.

Also nochmals vielen herzlichen Dank, du hast mir sehr geholfen.

 

Gruß Michael

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...