[Bug 1113] kernel32.CopyFileW failure
Wine Bugs
wine-bugs at winehq.com
Sat Jun 28 07:37:54 CDT 2003
http://bugs.winehq.com/show_bug.cgi?id=1113
------- Additional Comments From z_god at wanadoo.nl 2003-28-06 07:37 -------
Bug comments restored from Gmane.org:
Hi everybody.
I was using build 20021007, that was not available to select for "version", on
Redhat 7.3. I tried to install the Interbase (an SQL database from Borland)
client and the installer reported that it could not copy any of the files
from the install subdirectory to the destination. Installation failed.
I managed to produce this debug output from wine:
08073ed8:Call kernel32.CopyFileW(402af0f8
L"C:\\ib_install\\client\\ibinstall.dll",402af150 L"C:\\Program
Files\\Borland\\InterBase\\",00000000) ret=4131ee2f
trace:file:CopyFileW L"C:\\ib_install\\client\\ibinstall.dll" -> L"C:\\Program
Files\\Borland\\InterBase\\"
trace:file:CreateFileW L"C:\\ib_install\\client\\ibinstall.dll" GENERIC_READ
FILE_SHARE_READ FILE_SHARE_WRITE OPEN_EXISTING attributes 0x0
trace:file:CreateFileW returning 00000054
trace:file:GetFileInformationByHandle 00000054
trace:file:CreateFileW L"C:\\Program Files\\Borland\\InterBase\\" GENERIC_WRITE
FILE_SHARE_READ FILE_SHARE_WRITE CREATE_ALWAYS attributes 0x20
warn:file:FILE_CreateFile Unable to create file '/usr/share/wine-c/Program
Files/Borland/InterBase' (GLE 82)
trace:file:CreateFileW returning ffffffff
warn:file:CopyFileW Unable to open dest L"C:\\Program
Files\\Borland\\InterBase\\"
08073ed8:Ret kernel32.CopyFileW() retval=00000000 ret=4131ee2f
What I can see here is that the destination is not a file name (as it is
supposed to be) but the name of a subdirectory. WINE does not like that.
The installer works flawlessly on any known windows platform, this
looks like an undocumented feature of windows to me.
------- Additional Comments From dclark <at> akamail.com 2002-10-31 13:39 -------
In this case it is a documented feature:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp
Go down near the bottom to the header "Directories", and it says "An application
cannot create a directory with CreateFile; it must call CreateDirectory or
CreateDirectoryEx to create a directory."
And indeed, running on WinNT, if there is no such directory, this call sets the
LastError to ERROR_INVALID_NAME. I have seen another program that expects that
and then makes a call to create the directory.
------- Additional Comments From joern <at> sierwald.com 2002-10-31 13:50 -------
Sorry, but this is not what I meant. The destination directory does exist
already. The problem is that the destination ends with a '\' sign. Windows
would append the actual filename to the destination and try to open that file.
The resulting filename would be C:\\Program
Files\\Borland\\InterBase\\ibinstall.dll". But WINE doesn't do that.
------- Additional Comments From dclark <at> akamail.com 2002-10-31 14:19 -------
Quite right. I see that now.
--
Configure bugmail: http://bugs.winehq.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list