Na Vistě x64 jsou dva velmi zajímavé adresáře (hlavně co se týká názvů). %WINDIR%\SysWow64 a %WINDIR%\system32. Ten první obsahuje systémové soubory pro 32-bitový systém (vlastně to co je ve 32-bitové Vistě uloženo v adresáři %WINDIR%\system32) a ten druhý obsahuje systémové 64-bitové soubory :D Takže pokud chceme spustit 64-bitový cmd.exe jednoduše zavoláme %WINDIR%\system32\cmd.exe  a pro 32-bitový použijeme %WINDIR%\SysWow64\cmd.exe. Jak jednoduché a názorné .... Důvod je zcela jednoduchý, mnoho aplikací "natvrdo" využívá odvolávání se na system32.

Když už jsme u cmd.exe, tak bitová verze cmd.exe hodně ovlivňuje chování a běh aplikací, které jsou pomocí cmd.exe spuštěny. Jedná se například o:

  • %ProgramFiles% - vede u 32-bitové verze do adresáře %SystemDrive%\Program Files (x86)\, kdežto u 64-bitové vede do %SystemDrive%\Program Files\
  • regedit - spuštěný ve 32-bitovém prostředí při otevření odkazuje na HKLM\Software\Wow6432Node
  • regsvr32 - registruje COM komponenty určené pro dané prostředí. Pokud jste zaregistrovali komponentu a přesto není vidět, tak se asi jedná o 32-bit verzi, která se registrovala z 64-bit cmd.exe. Důvodem tohoto chování je to, že 32-bitový systém mám automaticky mapován registr do větve HKLM\Software\Wow6432Node. Takže po registraci 32-bitové komponenty z 64-bitového prostředí dojde k uložení záznamů do klasických míst, tak jako u 32-bitového OS. Jenže při spuštění 32-bitové aplikace, která tuto komponentu chce použít, je nenajde v místě určeném pro 32-bitové aplikace (.....\Wow6432Node). Toto přesměrování je transparentní pro 32-bitový systém, který si není vědom přesměrovnání. Např. když ve 32-bitovém systému vložím údaj např. do HKLM\Software\MojeApp\.... bude fyzicky tato informace uložena pod HKLM\Software\Wow6432Node.
  • csript a wscript - skriptovací enginy jsou též ovlivněny výše uvedeným. Obzvláště u skriptů, které registrují komponenty, je potřeba dbát na to, aby se spustila správná verze!
  • mmc - jak konzole, tak i snap-iny jsou k dispozici ve 32-bitové verzi. Pro spuštění 32-bitové verze je nejrychlejší použít mmc /32.
  • set - pomocí tohoto příkazu je vidět názorné chování jednotlivých verzí cmd.exe. Ve 32-bitové verzi je PROCESSOR_ARCHITECTURE = x86 a je zde i proměnná PROCESSOR_ARCHITEW6432 = AMD64. Při běhu v 64-bitovém prostředí obdržíme PROCESSOR_ARCHITECTURE = AMD64. Tuto hodnotu obdržíte i na 64-bitovém Intelu (EM64T)!!! Je to hlavně proto, že architekturu x64 přineslo AMD, které je později licencovalo Intelu (Intel delší dobu sázel pouze na Itanium a X64 nebralo v potaz). Pro odlišení EM64T od AMD64 je potřeba přečíst PROCESSOR_IDENTIFIER. Kde je např. pro můj notebook uloženo EM64T Family 6 Model 15 Stepping 6, GenuineIntel.

A tak by se dalo pokračovat dále a dále. Pokud spouštíte systémové aplikace/nástroje pomocí Run okna (Windows + R), jsou automaticky spuštěny 64-bitové verze těchto nástrojů. Pokud se chceme vyhnout "neočekávanému chování" je lepší spouštět 32-bitové nástroje, tam kde je to potřeba, přímo pomocí %WINDIR%\SysWow64\[tool].exe.