[Bug 1954] New: SHNotifyCopyFileW doesn't create subdirectories (it should)
Wine Bugs
wine-bugs at winehq.org
Thu Jan 22 14:18:07 CST 2004
http://bugs.winehq.org/show_bug.cgi?id=1954
Summary: SHNotifyCopyFileW doesn't create subdirectories (it
should)
Product: Wine
Version: 20031212
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: wine-misc
AssignedTo: wine-bugs at winehq.org
ReportedBy: phillip.ezolt at hp.com
SHNotifyCopyFileW does NOT create subdirectories if they do
not already exist.
The installer for RollerCoaster tycoon demo requires this to
be working properly to install. (The real version has the same
problem.)
(This demo is located at:
ftp://ftp.microprose.com/pub/demos/rollercoaster/rct-edl.exe )
During installation, the install creates the directory:
C:\\Program Files\\Hasbro Interactive\\RollerCoaster Tycoon Demo\\
It can successfully copy files to this newly created directory, but
coping into any (currently non-existant) directories below it fail.
According to MS:
" Copy and Move operations can specify destination directories
that do not exist and the system will attempt to create them. "
(See footnote #1 for more info)
For example, this succeeds:
trace:shell:SHNotifyCopyFileW (L"E:\\WZS21db.tmp\\English\\rct.exe"
L"C:\\Program Files\\Hasbro Interactive\\RollerCoaster Tycoon Demo\\rct.exe" )
But this fails:
trace:shell:SHNotifyCopyFileW (L"E:\\WZS21db.tmp\\Saved Games\\001"
L"C:\\Program Files\\Hasbro Interactive\\RollerCoaster Tycoon Demo\\Saved
Games\\001" )
The directory "Saved Games" should be created before "001" is copied
into it. Instead, the call fails.
I've verified that this true, by creating the proper directories as it
is installing, and the game works fine.
(When the install is running, I cd into:
"C:\\Program Files\\Hasbro Interactive\\RollerCoaster Tycoon Demo\\"
and from Linux type:
mkdir "Saved Games" ; mkdir "Data" ; mkdir "Tracks" ; mkdir "Scenarios"
The will make the directories and the installation will complete.
Note this bug shows up on /usr/src/wine-20040121 as well.
(1)
According to:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/structures/shfileopstruct.asp
...
pTo
Address of a buffer to contain the name of the destination file or
directory. This parameter must be set to NULL if it is not used. Like
pFrom, the pTo member is also a double-null terminated string and is
handled in much the same way. However, pTo must meet the following
specifications.
...
* Copy and Move operations can specify destination directories
that do not exist and the system will attempt to create them. The
system normally displays a dialog box to ask the user if they want to
create the new directory. To suppress this dialog box and have the
directories created silently, set the FOF_NOCONFIRMMKDIR flag in
fFlags.
* For Copy and Move operations, the buffer can contain
multiple destination file names if the fFlags member specifies
FOF_MULTIDESTFILES.
...
--
Configure bugmail: http://bugs.winehq.org/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