This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cygwin cannot find certain files under Windows 2003

On Jan  9 16:58, Ian Harris wrote:
> Hi,
> I have been using Cygwin on Windows Server 2003 (both Standard Edition
> and Web Server Edition) for a while without any problems to interface
> with the IIS scripts in /cygdrive/c/inetpub/adminscripts.
> However, I have recently installed Cygwin on Windows Server 2003 64-bit
> Standard Edition and it cannot see certain files which definitely exist
> within the file system, notably
> c:\WINDOWS\system32\inetsrv\MetaBase.xml, which causes havoc with the
> AdminScripts.  If I ls the directory in Cygwin, I can see most of the
> files but not the MetaBase.xml file (amongst a few others), but I have
> no problem seeing the file from a regular Windows command prompt.

This has nothing to do with Cygwin, it's a 64-bit Windows limitation.
Certain files in a 64-bit system are implicitely hidden from accessing
them from the WOW64 32-bit environment.

In the 64-bit version of cmd.exe, the system32/inetsrv directory has 82
files and directories when calling `dir /w'.  If you do the same in a 32
bit cmd.exe(*), you can only see 60 files and directories.  Why?

The reason for this is that 32-bit processes are internally redirected
to different directories under some circumstances.  The WINDOWS/system32
directory is one of these cases.  If an application running under WOW64
chdir's to C:\WINDOWS\system32, it is actually redirected to the directory
C:\WINDOWS\SysWOW64.  If you examine the C:\WINDOWS\SysWOW64\inetsrv
directory with the 64-bit cmd.exe, you will find that it contains
60 files and directories.  That's it.

As for having a workaround, I know the system call to switch off this
redirection per thread, but I'm not convinced that it would be a good
idea to use it for Cygwin processes.  After all, Cygwin processes are
32-bit processes and should see the same environment as any native
32-bit process.


(*) C:\WINDOWS\SysWOW64\cmd.exe

Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]