paraclete
22nd March 2002 01:27 UTC
nsis COPYFILES seems to have 8.3 filename limit
I was using COPYFILES in a script, and came across unexpected behavior ... it truncated InvPsgStats.xml to InvPsgSt.xml
This would seem to indicate that COPYFILES only deals with 8.3 filenames. Did I do something wrong? Is this left-over from the bad old days?
TIA from a big NSIS fan :-)
***************
; Put files there
CopyFiles /SILENT /FILESONLY InvPsgStats.sav InvPsgStats.xml 30
File InvPsgStats.xml
File InvPsgInfo.xml
File ChangeLog.html
Smile2Me
22nd March 2002 07:26 UTC
ParaClete,
I tested the CopyFiles with some long file names. At my Win2K machine it seemed to work fine...
So I think it's not the CopyFiles, but maybe there's something wrong on the destination machine...
Good luck,
greetz, Hendri.
dubek1
12th February 2006 17:48 UTC
It's a Microsoft problem
I also encountered this problem once on one computer (using NSIS 2.11). I looked around, and this is what I found:
NSIS implements the CopyFiles instruction with a call to Win32 Shell API function SHFileOperation. This function suffers from the following bug:
http://support.microsoft.com/kb/q186152/
(Note that according to Microsoft "This behavior is by design", but personally I don't believe them.)
A workaround would be to fix the copying mechanism to in exehead/exec.c to retrieve the full pathname of the destination before passing it to SHFileOperation.
dubek.