Archive: Random Crash of NSIS-Installer


Random Crash of NSIS-Installer
Dear All,

we have a problem with our Installscript and I hope someone can help me.
On Win Vista/7 32/64 the Installer randomly crashes.
It seems the problem is our Photoshop Section. If we uncheck this section all seems ok.

This is the error. Also see the attached screenshot.

Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: SFde-662r2a(UScanCD).exe
Anwendungsversion: 0.0.0.0
Anwendungszeitstempel: 4b1ae3c6
Fehlermodulname: ntdll.dll
Fehlermodulversion: 6.1.7600.16385
Fehlermodulzeitstempel: 4a5bdadb
Ausnahmecode: c0000005
Ausnahmeoffset: 000522a3
Betriebsystemversion: 6.1.7600.2.0.0.256.1
Gebietsschema-ID: 1031
Zusatzinformation 1: 0a9e
Zusatzinformation 2: 0a9e372d3b4ad19135b953a78882e789
Zusatzinformation 3: 0a9e
Zusatzinformation 4: 0a9e372d3b4ad19135b953a78882e789

Lesen Sie unsere Datenschutzbestimmungen online:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0407

Wenn die Onlinedatenschutzbestimmungen nicht verfügbar sind, lesen Sie unsere Datenschutzbestimmungen offline:
C:\Windows\system32\de-DE\erofflps.txt



This is the section. There are 3 loops which search for the versions.
Section "Photoshop-Importmodul" SEC02  ; Ps
SectionIn 1

; http://de.wikipedia.org/wiki/Photoshop (Compatibility)
; Find all available Photoshops and install them. Start with Photoshop 7 and go up to 11. Version 9 is CS2, Version 11 is CS4, ...
StrCpy $R0 7
numloop1:
ReadRegStr $0 HKLM "Software\Adobe\Photoshop\$R0.0\PluginPath" ""
StrCmp $0 "" nops1 0
; Get Parent Folder
${GetParent} $0 $0
; Search for Import Folder
${locate::Open} "$0" "/F=1 /M=Twain_32.8BA" $0
StrCmp $0 0 close1 loop1
loop1:
${locate::Find} $0 $1 $2 $3 $4 $5 $6
${GetParent} $1 $1
; Create Link in PhotoShop Import Folder
CreateShortCut "$1\SilverFast (UScan).lnk" "$INSTDIR\SilverFast (UScan).8ba"
!if ${DRIVERPATH} == "IS7_NikonM"
SetOutPath "$1\..\.."
File /a "\\Masterserver\masterstuff\installer\win\Drivers\661r8\aspi472\XP\wnaspi32.dll"
!endif ;${DRIVERPATH} == "IS7_NikonM"
close1:
${locate::Close} $0
nops1:
IntOp $R0 $R0 + 1
IntCmp $R0 12 done1
Goto numloop1
done1:

; Find all available Photoshop Elements and install them. Start with Photoshop Elements 1 and go up to 9.
StrCpy $R0 1
numloop2:
ReadRegStr $0 HKLM "Software\Adobe\Photoshop Elements\$R0.0\PluginPath" ""
StrCmp $0 "" nops2 0
${GetParent} $0 $0
${locate::Open} "$0" "/F=1 /M=Twain_32.8BA" $0
StrCmp $0 0 close2 loop2
loop2:
${locate::Find} $0 $1 $2 $3 $4 $5 $6
${GetParent} $1 $1
CreateShortCut "$1\SilverFast (UScan).lnk" "$INSTDIR\SilverFast (UScan).8ba"
!if ${DRIVERPATH} == "IS7_NikonM"
SetOutPath "$1\..\.."
File /a "\\Masterserver\masterstuff\installer\win\Drivers\661r8\aspi472\XP\wnaspi32.dll"
!endif ;${DRIVERPATH} == "IS7_NikonM"
close2:
${locate::Close} $0
nops2:
IntOp $R0 $R0 + 1
IntCmp $R0 10 done2
Goto numloop2
done2:

; Find all available Photoshops and install them. Start with Photoshop 12 and go up to 12. Version 12 is CS5, ...
StrCpy $R0 12
numloop3:
ReadRegStr $0 HKLM "Software\Adobe\Photoshop\$R0.0\PluginPath" ""
StrCmp $0 "" nops3 0
${GetParent} $0 $0
${locate::Open} "$0" "/F=1 /M=FireWire Export.8BE" $0
StrCmp $0 0 close3 loop3
loop3:
${locate::Find} $0 $1 $2 $3 $4 $5 $6
${GetParent} $1 $1
CreateShortCut "$1\SilverFast (UScan).lnk" "$INSTDIR\SilverFast (UScan).8ba"
!if ${DRIVERPATH} == "IS7_NikonM"
SetOutPath "$1\..\.."
File /a "\\Masterserver\masterstuff\installer\win\Drivers\661r8\aspi472\XP\wnaspi32.dll"
!endif ;${DRIVERPATH} == "IS7_NikonM"
close3:
${locate::Close} $0
nops3:
IntOp $R0 $R0 + 1
IntCmp $R0 13 done3
Goto numloop3
done3:

${locate::Unload}
SectionEnd

Is there any error in our syntax for this section or does anyone have similar problems?

Thanks for help

Please use pastebin to add large amounts of code.
http://nsis.pastebin.com/


If NSIS ever crashes the first place to look would be at the plug-ins. In this case I'd say it's locate. If you can, rebuild the plug-in as a debug DLL and debug in VS (attach to process).

Stu


Well, I'd like to edit my message accordingly (ie. pastebin), but it seems the edit pencil symbol isn't present, although I'm logged in. Please help out with this.

Edit:
And in posting this second message, I'll find the edit button is present with it only.
Please explain, as I'm new to this forum. Thanks so much in advance.


There is a time limit on edits


Dear Anders

Thanks, I see. Well, I have to remove the code published above from the forum. Guess I'll be in touch with the forum moderator then...


what do you need edited and in which post(s) ?

-daz


He wants to replace the code he pasted with a pastebin link. LSI_Riedel, don't worry too much about it - just use pastebin the next time.


Hi LSI_Riedel,

Were you able to find the root cause of the crash? I see very similar issue with my appplication.

Thanks!