[GELÖST] Frage zu "errorsOccuredSinceMark"

Antworten
Nils
Beiträge: 185
Registriert: 16 Sep 2011, 08:59

[GELÖST] Frage zu "errorsOccuredSinceMark"

Beitrag von Nils »

Hallo zusammen,

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
Error: Directory XYZ does not exist and cannot be created
Warum, ist mir unklar. Tritt dieser Fehler auf, so wird der Fehlermarker entsprechend erhöht. Auch dies funktioniert.
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	
Die "else"-Bedingung wird hingegen sehr wohl ausgeführt, wenn kein Fehler aufgetreten ist. So, wie ich es erwarte.

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:
If
errorsOccuredSinceMark > 0 <<< result true
Then
EndIf
Ich hoffe, ihr habt den ein oder anderen Tipp für mich.

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
. Nun habe ich diesen entfernt und das Skript wird mehr oder weniger so abgearbeitet, wie es soll. Was leider noch nicht funktioniert, habe ich in einem neuen Thread (viewtopic.php?f=7&t=4542) beschrieben. ;)

Ich wünsche Euch einen schönen Tag und im Voraus ein erholsames Wochenende.
Viele Grüße
Nils
Antworten