in einem Skript habe ich per "[Files_install]" eine längere Kopieraktion, welche zu Anfang ein neues Verzeichnis erstellen sollte, sofern dieses nicht bereits vorhanden ist.
Nun setze ich vor dem Aufruf von "Files_install" mittels "markErrorNumber" die Anzahl der Fehler auf "0". Dies funktioniert auch wunderbar.
Teilweise kommt es jedoch beim Erstellen des Verzeichnisses zu dem Fehler
Warum, ist mir unklar. Tritt dieser Fehler auf, so wird der Fehlermarker entsprechend erhöht. Auch dies funktioniert.Error: Directory XYZ does not exist and cannot be created
Was hingegen aus mir absolut unverständlichen Gründen nicht funktioniert ist die Ausführung der auswertenden if-Bedingung. Diese lautet wie folgt:
Code: Alles auswählen
if errorsOccuredSinceMark > 0
comment "error occured"
LogError "Fehler bei der Installation aufgetreten. Evtl. beim Erstellen der Verzeichnisse."
Set $Flag$ = "0"
Registry_SaveRebootFlag
isFatalError
else
; kein Fehler aufgetreten, gibt folgendes aus:
comment "no error occured"
; Reboot initialisieren
Set $Flag$ = "1"
Registry_SaveRebootFlag
ExitWindows /ImmediateReboot
endif
Tritt jedoch ein Fehler auf, so wird dies zwar erkannt und der Marker erhöht, die entsprechenden Aktionen werden jedoch nicht ausgeführt. So, als gäbe es keinerlei Anweisungen. Selbiges gilt auch, wenn ich in der Fehler-Bedingung z. B. nur einen "comment"-Befehl eintrage.
Das Installations-Log zeigt im Fehlerfalle Folgendes:
Ich hoffe, ihr habt den ein oder anderen Tipp für mich.If
errorsOccuredSinceMark > 0 <<< result true
Then
EndIf
Vielen herzlichen Dank schon mal im Voraus und noch einen schönen Tag.
Viele Grüße
Nils
[UPDATE / LÖSUNG]
Hallo zusammen,
durch Zufall bin ich drauf gekommen, was die Ursache für o. g. Verhalten war. Es lag am Eintrag
Code: Alles auswählen
ExitOnError=true
Ich wünsche Euch einen schönen Tag und im Voraus ein erholsames Wochenende.
Viele Grüße
Nils