Seite 1 von 2

[gelöst] getOutStreamFromSection() - Section not found

Verfasst: 19 Jun 2012, 11:10
von TheAngryCube
Kann bitte mal jemand über den folgenden Code gucken und mir sagen wo der Fehler ist? Ich glaube ich sehe vor lauter Bäumen den Wald nicht...

Fehler:
$ExitCodeList$ = getOutStreamFromSection('DosInAnIcon_uninstall_activex')
Section "DosInAnIcon_uninstall_activex" not found

Code: Alles auswählen

; Prüfen was deinstalliert werden soll
if $ToUninstall$ = "activex"
	if not ( $ExeFile_ActiveX$ = "" ) AND FileExistsSysNative ( $ExeFile_ActiveX$ )
		Message "Deinstallation wird gestartet..."
		if $OSArch$ = "x86 System"
			Winbatch_uninstall_activex
			sub "%scriptdrive%\install\check_exitcode\check_msi-exitcode.ins"
		else
			;DosInAnIcon_uninstall_activex /64bit
			Set $ExitCodeList$ = getOutStreamFromSection ('DosInAnIcon_uninstall_activex')
			Set $ExitCode$ = takeString (0,$ExitCodeList$)
			if not ( $ExitCode$ = "" )
				LogError $ExitCode$
				isFatalError
			endif
		endif		
	else
		Comment "Flashplayer ActiveX ist nicht installiert! Fahre fort...
	endif
endif
...
[DosInAnIcon_uninstall_activex]
@echo off
"$ExeFile_ActiveX$" $ExeFileArgs$

Lösung:
Das Problem kommt von einem bekannten Bug der auftritt, wenn man mit der Funktion getOutStreamFromSection() eine Section in einem SubScript aufruft.
Wird die aufzurufende Section im Main-Script definiert, tritt der Fehler nicht auf.

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 19 Jun 2012, 13:02
von tobias
;DosInAnIcon_uninstall_activex /64bit

die section ist auskommentiert ;)

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 19 Jun 2012, 13:52
von TheAngryCube
Yo das ist so gewollt. Die Section wird ja mit dem Aufruf getOutStreamFromSection aufgerufen

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 19 Jun 2012, 13:58
von tobias
TheAngryCube hat geschrieben:Yo das ist so gewollt. Die Section wird ja mit dem Aufruf getOutStreamFromSection aufgerufen
ne das kann so nicht funktionieren.
getOutStremFromSection fragt nach einem Sektionsaufruf nur die Ausgabe ab und ruft nicht die Sektion auf.

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 19 Jun 2012, 14:29
von TheAngryCube
Bist Du Dir da ganz sicher? Ich habe ein anderes Skript wo es genau so funktioniert hat

[edit]
Gerade mal getestet, der Fehler bleibt

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 19 Jun 2012, 14:58
von tobias
TheAngryCube hat geschrieben:Bist Du Dir da ganz sicher? Ich habe ein anderes Skript wo es genau so funktioniert hat

[edit]
Gerade mal getestet, der Fehler bleibt
Ich kann mich auch irren, aber wenn ichs verwendet habe hat diese funktion so funktioniert wie ich sagte.
Habs allerdings immer mit ShellInAnIcon gemacht weis nicht ob dasn unterschied ist

Code: Alles auswählen

ShellInAnIcon_Check
set $counterString$ = getOutStreamFromSection('ShellInAnIcon_check')

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 19 Jun 2012, 15:11
von tobias
du hast recht wird wirklich aufgerufen. Habs grade mal getestet und wieder was gelernt :D

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 20 Jun 2012, 09:11
von TheAngryCube
*Schieb*

Immernoch keine Lösung.

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 20 Jun 2012, 09:31
von tobias
sorry kanns nicht nachvollziehen .... hab mir deinen Code mal kopiert und den bei mir ausgeführt. Bekomme den Fehler nicht. :?:

Re: Bitte mal drüber gucken - getOutStreamFromSection()

Verfasst: 20 Jun 2012, 12:07
von ueluekmen
Hi,

nur eine Vermutung: sieht so aus, als wenn das ein Teil vom einem Skript ist, welches als subskript ausgeführt wird. Bitte mal die Sektion:

Code: Alles auswählen

[DosInAnIcon_uninstall_activex]
@echo off
"$ExeFile_ActiveX$" $ExeFileArgs$
auch ins ausführende Skript mit reinkopieren. Macht zwar erstmal keinen Sinn, aber ich vermute hier einen alten known Bug im Winst, der behauptet gerne mal, dass er die Sektion nicht kennt, wenn Sie im aufrufenden Skript nicht deklariert ist. Stichwort SubInSub