Michael K 10 Geschrieben 27. Mai 2005 Melden Teilen Geschrieben 27. Mai 2005 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? Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 27. Mai 2005 Melden Teilen Geschrieben 27. Mai 2005 Hallo Michael K Willkommen im Board. :) Hier sind die standard Parameter für MSI Installationen. http://support.microsoft.com/default.aspx?scid=kb;de;314881 Ein guter Ansatz ist also: msiexec /i LW:\Pfad\Dateiname.msi /qb- thorgood Zitieren Link zu diesem Kommentar
Michael K 10 Geschrieben 27. Mai 2005 Autor Melden Teilen Geschrieben 27. Mai 2005 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") Zitieren Link zu diesem Kommentar
thorgood 10 Geschrieben 28. Mai 2005 Melden Teilen Geschrieben 28. Mai 2005 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 Zitieren Link zu diesem Kommentar
Michael K 10 Geschrieben 28. Mai 2005 Autor Melden Teilen Geschrieben 28. Mai 2005 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.