Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I have some 32-bit GNU programs that I want to add to the system path on my Windows7-64bit machine, such as Curl.exe, WGet.exe, AutoExNT.exe, etc. I don't want to have to alter the system Path environment variable at all and so I want to place them in a location that is equivilant to "system32" on a old 32-bit system.

I know, that since these are 32-bit programs, that they wont run unless they are located in the 32-emulator directory: SysWOW64. I've tried, so I know this to be true.

I am confused as to why this directory is not part of the default system Path in Windows7. Is it safe or recommended to add SysWOW64 to the default system environment (not User level env)??

Is there something I am overlooking here? Is there a way to run a batch file with SysWOW64 in the path that doesn't require hacking the system path?

share|improve this question
add comment

1 Answer

up vote 0 down vote accepted

The 64bit/32bit setup in windows is a giant pain. Where you have to put these files will depend on what type of application is trying to execute them. If you have a 32bit application trying to start them, you would put them in the SysWOW64 directory. If you have a 64bit application trying to start them, they would go in the System32 directory. If you want to access the real System32 directory from a 32bit application, you can use the special SysNative directory.

The SysWOW64 directory contains all the 32 bit binaries, but will appear as the System32 directory if you start a 32 bit binary (32bit cmd.exe for example). Within a 32 bit binary, you can generally only access the contents of this directory. You can't access the actual System32 directory, unless you are using an OS that supports the Sysnative directory, or you enable some special API flags.

To add to the confusion, the System32 directory (the real one, seen when using 64bit applications) contains all the 64 bit binaries.

share|improve this answer
    
Thanks. That answered it for me. So, in this case I need to run the SysWOW64/cmd.exe as my shell. This works. Thanks very much! –  djangofan May 31 '11 at 19:22
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.