Questions tagged [syswow64]

The %windir%\System32 directory is reserved for 64-bit applications. Most DLL file names were not changed when 64-bit versions of the DLLs were created, so 32-bit versions of the DLLs are stored in a different directory. WOW64 hides this difference by using a file system redirector.

The WoW64 subsystem comprises a lightweight compatibility layer that has similar interfaces on all 64-bit versions of Windows. It aims to create a 32-bit environment that provides the interfaces required to run unmodified 32-bit Windows applications on a 64-bit system. Technically, WoW64 is implemented using three dynamic-link libraries (DLLs):

  1. Wow64.dll, the core interface to the Windows NT kernel that translates between 32-bit and 64-bit calls, including pointer and call stack manipulations

  2. Wow64win.dll, which provides the appropriate entry-points for 32-bit applications

  3. Wow64cpu.dll, which takes care of switching the processor from 32-bit to 64-bit mode

WoW64 Wikipedia

44 questions
238
votes
5 answers

Why do 64-bit DLLs go to System32 and 32-bit DLLs to SysWoW64 on 64-bit Windows?

I would like to know when do we need to place a file under C:\Windows\System32 or C:\Windows\SysWOW64, on a 64-bits windows system. I had two DLL's, one for 32-bit, one for 64-bit. Logically, I thought I'd place the 32-bit DLL under…
Ganesh Astroved
  • 2,421
  • 2
  • 17
  • 9
41
votes
7 answers

How to start a 64-bit process from a 32-bit process

I am trying to run a 64 bit executable (java.exe) from our 32-bit .NET application. I am using Process class and invoking cmd /c in order to support all possible commands (like dir, cd etc). The problem is that on my machine I…
Igor Zevaka
  • 74,528
  • 26
  • 112
  • 128
32
votes
6 answers

Running vbscript from batch file

I just need to write a simple batch file just to run a vbscript. Both the vbscript and the batch file are in the same folder and is in the SysWOW64 directory as the vbscript can only be execute in that directory. Currently my batch file is as…
user918197
  • 1,129
  • 6
  • 17
  • 29
6
votes
3 answers

Why copying to system32 automatically copies to sysWOW64 instead?

I'm trying to copy a file to C:\windows\system32 by calling CopyFileA - debugging shows that indeed the string "C:\windows\system32\filename" is sent to CopyFileA, but my file is copied to "C:\windows\system32\sysWOW64\filename" instead. Does anyone…
speller
  • 1,641
  • 2
  • 20
  • 27
4
votes
3 answers

System32 folder in windows 7

I'm using this code in XP 32-bit OS to get the %windir%\windows\system32 folder path. sysFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.System) What I want to know is that will this same code return the %windir%\windows\syswow64…
Phoenix
  • 81
  • 1
  • 3
3
votes
1 answer

How to solve "catastrophic failure" with 32-bit COM component in SysWOW64\cscript or wscript

I'm trying to run a VBScript script that uses a 7-year-old 3rd-party 32-bit COM component on Windows Server 2008 R2, with the command-line 32-bit script host, SysWOW64\cscript.exe. When I call CreateObject on the class, it appears to be…
Kevin
  • 5,874
  • 3
  • 28
  • 35
3
votes
3 answers

MSI Installer, 64 bit OS, write to \windows\system32\inetsrv folder

On Windows Server 2008 64-bit, I need an .msi installer file to write some files to \windows\system32\inetsrv folder. (The files are some XML Schema validation files, that C# XmlReaderSettings.Schema.Add() expects to be in that folder). When the…
aaaa bbbb
  • 3,003
  • 2
  • 23
  • 23
3
votes
0 answers

Cannot load ODBC DLLs in Delphi2007 on Win7 64bit when running inside IDE

Can anyone help with this. I'm using Delphi2007 December update. I'm trying to connect to a Gupta database through ODBC and get the error message: The specified module could not be found. C:\Windows\System32\c2gup15.dll. The DLLs are 32 bit and are…
2
votes
1 answer

Register COM .dll with IIS7.5 (REGDB_E_CLASSNOTREG)

This issue is driving me crazy. I have a WCF service that uses a COM .dll (which is located in SysWOW64) to do some operations. I registered it with Windows 2008 R2 but it doensn't work when the service is deployed on the server. My service is…
cosss
  • 23
  • 1
  • 3
2
votes
2 answers

How to launch a x64 shell using x86 perl system on windows

I use perl to call system start that I need to specify the cpu number which I want my program to bind to. When I use x86 perl, it will launch x86 cmd to run the start command. This x86 start doesn't accept the parameter 0x100000000 as it exceeds 32…
lionel
  • 415
  • 1
  • 5
  • 14
2
votes
1 answer

Windows API SysWOW redirection unexpected behavior

I have an old 32-bit installer program that installs some 32-bit dependency DLLs into the Windows system folder. I have discovered that it's failing to install some of the 32-bit DLLs on a 64-bit system because the SysWOW redirection is doing…
Tony Pulokas
  • 465
  • 5
  • 12
2
votes
4 answers

How can a 64-bit process have a 32-bit view of file system and registry?

For backwards compatibility, my 64 process needs to see the the 32-bit view of the file system and registry. I know how to make a 32-bit process see a 64-bit view of the file system and registry (using Wow64DisableWow64FsRedirection and…
deltanine
  • 1,166
  • 1
  • 13
  • 25
2
votes
1 answer

Why is Configuration.FilePath returning a nonexistent file?

I have a Windows service, written in C# (.NET 4.5). This service has a user scoped setting that is used to hold a timer variable. For debugging the service, I need to update this variable, so I need to know where the user.config file for the service…
Ian Kemp
  • 28,293
  • 19
  • 112
  • 138
1
vote
0 answers

Remove DLL from system32 folder when uninstalling a setup from InstallScript project for 64-bit

I have InstallShield 2011 and I am creating a setup for 64-bit in an InstallScript project. When I install a setup, the DLL does go into system32 folder on a 64-bit system. But the problem is that when I unintall the setup, the DLL in system32 is…
jiten
  • 5,128
  • 4
  • 44
  • 73
1
vote
1 answer

MMC snap-in cannot locate a 3rd party DLL located in PATH directory

I am having a problem with a 32-bit MMC snap-ins (on a x64 server 2008 machine). The snap-ins have been successfully registered. When I launch the associated.msc file using the mmc (with 32 bit option), the name(s) of the snap-ins are displayed on…
1
2 3