[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