Skip to main content

Take Command x64 (Don't Run 32-bit Command Processors in Windows x64!)

Take Command has been available in both 32-bit and 64-bit versions since Take Command v11.0. But we’ve noticed that a lot of you are still using the 32-bit version of Take Command with your 64-bit version of Windows. There seems to be two prevailing beliefs for this:

  1. 32-bit applications use less memory (true, but irrelevant given the relatively small size of Take Command and the amount of available memory on most Windows x64 systems.
  2. 32-bit applications are faster (false – Take Command 32-bit will always be slower on an x64 version of Windows than the equivalent Take Command x64).

There are several significant drawbacks in running a 32-bit command processor in Windows x64:

  1. WOW64 (Windows 32-bit On Windows 64-bit) is an emulation layer for running 32-bit apps on x64 Windows. This means that the Windows API calls in 32-bit apps have two or more extra dll layers to pass through before calling the native ntdll.dll, so 32-bit apps will be slower.
  2. WOW64 registry redirection only allows a 32-bit process to see the 32-bit registry view, so if you are using registry variable functions in TCC, you cannot read or write to the 64-bit part of the registry.
  3. WOW64 file redirection prevents 32-bit processes from seeing (or running) the 64-bit Windows applications and dll’s. For example, if you try to “dir c:\windows\system32″, you’ll be (silently) redirected to the c:\windows\sysWOW64 directory instead (where Windows keeps the 32-bit versions of some of the system utilities). But not all of the system applications have 32-bit versions, so to run the 64-bit-only versions, you’ll need to start a 64-bit app (like CMD.EXE — or preferably, Take Command x64).
  4. Some system variables will only work if the process is 64-bit, or return different values if the process is 32-bit. This can be particularly problematic if you have registry values that use environment variables (REG_EXPAND_SZ).

We strongly recommend that everyone running a 64-bit version of Windows (XP, Server 2003, Server 2008, Vista, or Windows 7) should also be using Take Command x64.