Seite 1 von 1
Bug bei FileExists auf leere Variable gibt wahr zurück
Verfasst: 19 Aug 2015, 14:21
von thomas.besser
habe hier ein Paket von März 2015, das damals mit Sicherheit getestet wurde und funktionierte. Hat sich evtl. ein Bug mit opsi-winst 4.11.5.9 eingeschlichen?
Zumindest gibt heute die Prüfung mit FileExists auf eine leere Variable wahr zurück. Das sollte doch eher anders herum sein!? Hier ein Beispielskript
Code: Alles auswählen
[Actions]
requiredWinstVersion >= "4.11.4.6"
ScriptErrorMessages=off
DefVar $LogDir$
DefVar $ProductId$
DefVar $UninstallProgram$
Set $LogDir$ = "%opsiLogDir%"
Set $ProductId$ = "test"
if FileExists($UninstallProgram$)
comment "UninstallProgram ist leer und trotzdem ist FileExists wahr!?"
endif
außerdem: FileExists verändert ExitCode, aber nur ihm Fehlerfall
Verfasst: 20 Aug 2015, 15:06
von holgerv
Bei uns ist aufgefallen, dass eine FileExist-Abfrage außerdem den durch GetLastExitCode abfragbaren Wert verändert, aber nur dann, wenn die gesuchte Datei nicht vorhanden ist. (Dann wird GetLastExitCode zu "1", aber im anderen Fall wird GetLastExitCode nicht zu "0", sondern bleibt unverändert.)
Code: Alles auswählen
[Actions]
setLogLevel = 5
if FileExists("C:\tmp")
comment "Es gibt C:\tmp"
else
comment "Es gibt kein C:\tmp"
endif
comment "==> " + getLastExitcode
if FileExists("C:\temp")
comment "Es gibt C:\temp"
else
comment "Es gibt kein C:\temp"
endif
comment "==> " + getLastExitcode
if FileExists("C:\tmp")
comment "Es gibt C:\tmp"
else
comment "Es gibt kein C:\tmp"
endif
comment "==> " + getLastExitcode
Ergebnis:
Code: Alles auswählen
1] [Aug 20 15:01:30:417] --
[1] [Aug 20 15:01:30:421] --
[1] [Aug 20 15:01:30:423] c:\opsi.org\log\opsi-script-part-Eb63Pe69.log
[1] [Aug 20 15:01:30:426] opsi-script 4.11.5.10 started at 20.08.2015 14:54:25
[1] [Aug 20 15:01:30:433]
[1] [Aug 20 15:01:30:433] ============ Version 4.11.5.10 script "C:\Users\[...]\Desktop\test.ins"
[1] [Aug 20 15:01:30:434] used script encoding: cp1252
[1] [Aug 20 15:01:30:434] used system encoding: cp1252
[1] [Aug 20 15:01:30:436] start: 2015-08-20 15:01:30
[1] [Aug 20 15:01:30:437] on client named "[...]"
[1] [Aug 20 15:01:30:439] loggedin user "[...]"
[1] [Aug 20 15:01:30:440] opsi-script running as "[...]"
[4] [Aug 20 15:01:30:441] opsi-script not running with admin privileges
[1] [Aug 20 15:01:30:444] opsi-script running in standard script mode
[1] [Aug 20 15:01:30:446] executing: "C:\Program Files (x86)\opsi.org\opsi-client-agent\opsi-winst\winst32.exe"
[1] [Aug 20 15:01:30:447] system infos:
[1] [Aug 20 15:01:30:450] [...] - PC hardware address
[1] [Aug 20 15:01:30:451] [...] - IP name
[1] [Aug 20 15:01:30:452] [...] - IP address
[1] [Aug 20 15:01:30:454] DEU - System default locale
[1] [Aug 20 15:01:30:457] MS Windows 6.1 64 Bit
[1] [Aug 20 15:01:30:458]
[6] [Aug 20 15:01:30:461] Registry key [HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion] opened
[6] [Aug 20 15:01:30:463] Key closed
[6] [Aug 20 15:01:30:524] LogLevel was 6
[5] [Aug 20 15:01:30:526] Starting query if file exist ...
[5] [Aug 20 15:01:30:527] FileExists("C:\tmp") <<< result true
[5] [Aug 20 15:01:30:529] comment: Es gibt C:\tmp
[5] [Aug 20 15:01:30:531] comment: ==> 0
[5] [Aug 20 15:01:30:534] Starting query if file exist ...
[5] [Aug 20 15:01:30:639] "C:\temp":
[5] [Aug 20 15:01:30:643] FileExists("C:\temp") <<< result false
[5] [Aug 20 15:01:30:646] comment: Es gibt kein C:\temp
[5] [Aug 20 15:01:30:650] comment: ==> 1
[5] [Aug 20 15:01:30:653] Starting query if file exist ...
[5] [Aug 20 15:01:30:656] FileExists("C:\tmp") <<< result true
[5] [Aug 20 15:01:30:659] comment: Es gibt C:\tmp
[5] [Aug 20 15:01:30:662] comment: ==> 1
[1] [Aug 20 15:01:30:671] ___________________
[1] [Aug 20 15:01:30:674] script finished
[1] [Aug 20 15:01:30:677] 0 errors
[1] [Aug 20 15:01:30:680] 0 warnings
[1] [Aug 20 15:01:30:683]
[1] [Aug 20 15:01:30:685]
Re: Bug bei FileExists auf leere Variable gibt wahr zurück
Verfasst: 20 Aug 2015, 16:23
von n.wenselowski
Hallo,
dazu bitte mal diese
News lesen und damit probieren.
Gruß
Niko
Re: Bug bei FileExists auf leere Variable gibt wahr zurück
Verfasst: 20 Aug 2015, 21:42
von d.oertel
Hi,
in der 4.11.5.11 war zwar schon der zweite Bug in diesem Therad gefixed aber noch nicht der erste.
Bitte mal den hier Testen und feed back geben:
http://download.uib.de/opsi4.0/experime ... .12-1.opsi
Sorry für die Bugs, aber leider haben so wenige die Testingphase genutzt ...
gruß
d.oertel
Re: Bug bei FileExists auf leere Variable gibt wahr zurück
Verfasst: 21 Aug 2015, 08:11
von thomas.besser
Kein Problem.
Ich kann im Moment leider nicht testen, weil unser OPSI-Test-Server bzw. die Virtualisierungumgebung drunter ein Problem hat. Sobald das wieder tut, kommt Rückmeldung.
Danke und Gruß
Thomas
Re: Bug bei FileExists auf leere Variable gibt wahr zurück
Verfasst: 21 Aug 2015, 09:47
von holgerv
n.wenselowski hat geschrieben:dazu bitte mal diese
News lesen und damit probieren.
Das hatte ich übersehen, mit opsi-winst_4.11.5.12-1.opsi tritt der (zweite) Fehler nicht mehr auf.
Danke + schönen Gruß
holgerv