Archive: IMPORTANT: Bug with CopyFiles in latest CVS


IMPORTANT: Bug with CopyFiles in latest CVS
Hello, I am quite confident that I have found some kind of problem with CopyFiles in the latest development snapshot.

The bug can be experienced with Examples\bigtest.nsi. Essentially the installer crashes when it hits the CopyFiles instruction on line 192.

To reproduce bug:
1. get latest NSIS version from sourceforge
2. compile ${NSISDIR}\Examples\bigtest.ini
3. run bigtest.exe (you can disable all sections except for 'Test CopyFiles' since that's what we're interested in ;))
4. CRASH!!

This is happening on XP Pro no service packs.

To verify that it is the CopyFiles instruction, I commented out line 192 and went through steps 2 - 4. No crash.

I hope this can be resolved without too much difficulty, I don't have a copy of the April 14th snapshot handy so I can't go ahead with my installer unless CopyFiles works. ;)

Oh, I'm attaching a screenshot that is in chronological order from top to bottom showing exactly what happens.

Cheers. :)

Salaam/Peace


I have uploaded a recompiled version of makensis.exe. It solves the problem. Last time we got rid of this problem by simply updating the Platform SDK, and as far as I know Joost (who uploaded the last makensis.exe) has the latest Platform SDK. If he really did have it then I intend to go a little deeper this time and find out the cause for this beyond the Platform SDK.


Thanks Kichik. :)

I'll head over and grab that new makenisis then. Hope it was just a platform SDK issue so you don't have to spend any more time on this.

Salaam/Peace.


From a first glimpse over this it seems something with the import table is seriously defected with whatever is causing this. The numbers are off by a set number for every imported DLL. As I have focused more on the resource section of the PE format when I learned about it (for the full color icons, etc.) I don't yet fully understand the import table structure so I'll have to go learn some more :)


He forgot to install the latest Platform SDK on his new computer. Phew! :D

From what I have read up until now I have discovered that the hint number that helps Windows search for the export was wrong for almost all of the imported functions. I don't understand why it disrupted SHFileOperation and nothing else, I guess we'll never know... A corporate secret or something like that :D


lol - i guess so, they've got plenty of secrets. ;)

I'm glad it was just a matter of needing the latest PSDK. :)

Thanks for your help. :)

Salaam/Peace.


It may be that all of the other functions were being looked up by name and for some reason SHFileOperation was being looked up by ordinal which would from what you've said be wrong.


Nope, it was looked by name too :weird: