Vbscript zum überprüfen der exe Version wenn.dann
Hallo Leute
Script funktioniert wenn niedrigere Version der exe vorhanden ist.
Ist jedoch der Pfad C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe nicht vorhanden, dann
kommt die Fehlermeldung : Line: 3, Char: 1, Error: Object required: 'fso'
Script funktioniert wenn niedrigere Version der exe vorhanden ist.
Ist jedoch der Pfad C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe nicht vorhanden, dann
kommt die Fehlermeldung : Line: 3, Char: 1, Error: Object required: 'fso'
Set objFSO = CreateObject("Scripting.FileSystemObject")
If fso.FileExists ("C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe") Then
fso.EXEver = objFSO.GetFileVersion ("C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe")
End if
If EXEVer >= "1.5.3.0" Then
WScript.Quit
End if
set wshell = CreateObject("Wscript.shell")
wshell.run "C:\zATi\Installer_SODE_v1.5.3.msi"
Please also mark the comments that contributed to the solution of the article
Content-Key: 346249
Url: https://administrator.de/contentid/346249
Printed on: April 17, 2024 at 19:04 o'clock
9 Comments
Latest comment
Ja,
Du musst vorher prüfen, ob der Ordner (also der Pfad zur Datei) überhaupt existiert.
Dann kannst Du diesen Fehler fangen.
https://msdn.microsoft.com/en-us/library/5xc78d8d(v=vs.84).aspx
Du musst vorher prüfen, ob der Ordner (also der Pfad zur Datei) überhaupt existiert.
Dann kannst Du diesen Fehler fangen.
https://msdn.microsoft.com/en-us/library/5xc78d8d(v=vs.84).aspx
Ist jedoch der Pfad C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe nicht vorhanden, dann
kommt die Fehlermeldung : Line: 3, Char: 1, Error: Object required: 'fso'
Du täuschst Dich selbst.kommt die Fehlermeldung : Line: 3, Char: 1, Error: Object required: 'fso'
Was fällt Dir da auf?
Set objFSO = CreateObject("Scripting.FileSystemObject")
If fso.FileExists ("C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe") Then
If fso.FileExists ("C:\Program Files (x86)\12bPilot\SODE\SimObjectDisplayEngine.exe") Then
Weil hier a) der Schreibfehler beim FSO nicht drin ist und b) ich nicht weiß, was "beide Fälle" sind.
Wenn Du in Deinem in der Frage genannten Script den Schreibfehler korrigierst, dann hättest Du für Zeile 7 die Grundlage zur Prüfung. Jedoch kann man den Inhalt von Strings nicht einfach so auf >= prüfen. Und weil man die Versionsnummer nicht einfach in eine reelle Zahl konvertiert bekommt, wirst Du diese in die einzelnen Nummern zerlegen und dann diese einzeln vergleichen müssen. Ein Beispiel dafür findest Du über Google, z.B.: http://www.posteet.com/view/206 . Ich habe das nicht getestet aber es sieht auf dem ersten Blick OK aus.
Wenn Du in Deinem in der Frage genannten Script den Schreibfehler korrigierst, dann hättest Du für Zeile 7 die Grundlage zur Prüfung. Jedoch kann man den Inhalt von Strings nicht einfach so auf >= prüfen. Und weil man die Versionsnummer nicht einfach in eine reelle Zahl konvertiert bekommt, wirst Du diese in die einzelnen Nummern zerlegen und dann diese einzeln vergleichen müssen. Ein Beispiel dafür findest Du über Google, z.B.: http://www.posteet.com/view/206 . Ich habe das nicht getestet aber es sieht auf dem ersten Blick OK aus.