X-Spam-Check-By: sourceware.org Date: Tue, 10 Jan 2006 13:22:38 +0100 From: Corinna Vinschen 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 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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 Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , 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/