delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/01/10/07:22:49

X-Spam-Check-By: sourceware.org
Date: Tue, 10 Jan 2006 13:22:38 +0100
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: Cygwin cannot find certain files under Windows 2003
Message-ID: <20060110122238.GI32312@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <33923FA2431C884BAACD0B0B81B3A1C1336757 AT camelot DOT axamba DOT com>
Mime-Version: 1.0
In-Reply-To: <33923FA2431C884BAACD0B0B81B3A1C1336757@camelot.axamba.com>
User-Agent: Mutt/1.4.2i
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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.



Corinna

(*) 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:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019