FileExists -> File Error 123

Antworten
thomas.besser
Beiträge: 461
Registriert: 09 Sep 2009, 09:40

FileExists -> File Error 123

Beitrag von thomas.besser »

Hallo,

ich hole mir den Pfad zu einer Uninstall-Exe aus der Registry (WinXP 32bit)

Code: Alles auswählen

[...]
Set $UninstallProgram$ = GetRegistryStringValue32("[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" + $RegDirId$ + "] UninstallString")

if FileExists($UninstallProgram$)
[...]
Die Überprüfung ob die Datei existiert, wird mit folgender Fehlermeldung quittiert:

Code: Alles auswählen

[1] [25.10.2011 15:05:07] opsi-winst 4.11.1.6 started at 25.10.2011 15:05:05
[...]
[6] [25.10.2011 15:05:08]       The value of the variable "$UninstallProgram$" is now: ""C:\Programme\R\R-2.13.2\unins000.exe""
[5] [25.10.2011 15:05:08]     
[5] [25.10.2011 15:05:08]     If
[6] [25.10.2011 15:05:08]         Starting query if file exist ...
[5] [25.10.2011 15:05:08]         ""C:\Programme\R\R-2.13.2\unins000.exe"": File Error 123 (Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
)
Die Datei existiert und kann manuell ausgeführt werden. Das einzigste auffällige wäre evtl. das "-" bzw. "." im Pfadnamen, aber das sollte doch kein Problem darstellen!?

Evtl. ein Bug?

Danke und Gruß
Thomas Besser
Shakreo
Beiträge: 13
Registriert: 04 Okt 2011, 14:39

Re: FileExists -> File Error 123

Beitrag von Shakreo »

Hallo,

ich glaube eher, dass das Problem in den doppelten Anführungszeichen steckt. Kann es sein dass in dem Registrywert vielleicht auch Anführungszeichen enthalten sind, die er mit ausliest? Wenn ja versuch diese mal rauszunehmen.
lars_k
Beiträge: 33
Registriert: 10 Mai 2011, 13:10
Wohnort: Dortmund

Re: FileExists -> File Error 123

Beitrag von lars_k »

Hallo ,

kann ich nur bestätigen.
nimm mal: if ( FileExists($UninstallProgram$) )

gruß

Lars
thomas.besser
Beiträge: 461
Registriert: 09 Sep 2009, 09:40

Re: FileExists -> File Error 123

Beitrag von thomas.besser »

@lars_k: das mit der zusätzlichen Klammer hat nichts gebracht.

@Shakreo: du hast Recht, es waren Anführungszeichen in dem Wert mit drin. Nehme ich die manuell raus, funktioniert es.

Thanx!
thomas.besser
Beiträge: 461
Registriert: 09 Sep 2009, 09:40

Re: FileExists -> File Error 123

Beitrag von thomas.besser »

vielleicht hilft es jemandem mal noch, ich eliminiere die Anführungszeichen im String mit:

Set $UninstallProgram$ = takeString (1, splitString ( $UninstallProgram$ , '"'))

Jetzt tut es wie es soll.
Antworten