Jump to content

VB-Script: SendKey nicht Zeit-, sondern Fensterabhängig?


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

Empfohlene Beiträge

Hallo,

 

ich habe erst damit angefangen, mich etwas in VB einzuarbeiten.

Momentan bin ich dabei, ein Script zu erstellen, welches einzelne Applikationen deinstalliert und danach wieder installiert.

Das ganze läuft so weit auch ganz gut. Allerdings habe ich die im Rahmen des Setups benötigten Abfragen mit SendKey Methoden realisiert.

Diese sind momentan noch Zeitabhängig.

Beispiel:

Option Explicit

Dim objShell

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

objshell.Run("RunDll32 C:\PROGRA~1\GEMEIN~1\INSTAL~1\engine\6\INTEL3~1\Ctor.dll,LaunchSetup ""C:\Programme\InstallShield Installation Information\{78D082B3-ACEE-11D7-9D64-00010240CE95}\setup.exe"" Anytext")
wscript.Sleep(15000)
objShell.SendKeys "~"
wscript.Sleep(20000)

 

Leider sind einige Rechner unterschiedlich schnell, so dass manchmal das Setup länger brauchst, als die vorgegebene Zeit, so dass die SendKey Befehle zu früh abgeschickt werden.

Gibt es eine Möglichkeit, dass ich die Befehle in Abhängigkeit zu dem Installationsfenster setze, so dass das VB Script schaut, wie weit die (De)installation ist und erst an der richtigen Stelle die Befehle ausführt?

 

SpecialK

Link zu diesem Kommentar

Moin,

 

ich habe sehr gute Erfahrungen gemacht mit silent Installationen und damit auch meine Softwareverteilung ganz gut geregelt.

Aber in diesem konkreten Fall handelt es sich um Java 1.4.1.05 und Java 1.4.2.05. Diese beiden Versionen müssen wir leider parallel installiert haben, da einer unserer externen Anbieter diese beiden Versionen für ihren Client benötigt.

In regelmässigen Abständen behaken sich die beiden Versionen, so dass beide deinstalliert und dann wieder instaliert werden müssen.

Ich habe trotz intensiver Suche keine Möglichkeit gefunden, gerade die 1.4.1.05 silent zu deinstallieren.

Mit dem Autoit habe ich nun eine einzige exe Datei, die ausgeführt werden muss und dann werden die beiden Versionen deinstalliert und gleich wieder installiert. Das ist unheimlich praktisch und kann sogar von unseren Usern selbst ausgeführt werden.

Die Tatsache, dass wir diese zwei Java Versionen benötigen wird demnächt wahrscheinlich eh (zum Glück!) abgestellt werden.

 

SpecialK

Link zu diesem Kommentar

Euer externer Anbieter hat keine Ahnung, sorry.

 

Ich vermute mal, es handelt sich um eine GUI-Anwendung ?

 

So ziemlich jede Anwendung kann seine eigene JAVA-VM mitbringen.

 

Ist das Programm z.b. auf C:\Programme\JAVA_APP1 installiert, kopierst Du von einem anderen PC die jeweilige JAVA-VM nach z.b. C:\Programme\JAVA_APP1\jre . Das Programm startet Du dann mit C:\Programme\JAVA_APP1\jre\bin\java.exe ... .

 

Eigentlich könnte die Software gleich die richtige VM mitinstallieren.

 

 

So laufen normalerweise unterschiedliche VM's zusammen auf einem PC. Und für den Browser installierst Du normal die 1.5.0_07 , damit Du Dir über Bugs in älteren Versionen keine Trojaner o.ä. einfängst.

 

-Zahni

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