Running under Windows 64-bit Edition

AutoIt has traditionally been a 32-bit application. With the 3.2.10.0 release native x64 versions of some components have been added, including:

During installation, if found to be running on x64 you will be given the choice to install and configure the x64 versions. These versions are fully x64 compatible, however, some scripts that use DllCall/DllStruct with custom structures may use values that break 64-bit compatibility (such as using 32-bit integers for pointers). This includes some of the UDFs supplied with AutoIt as they have not all been tested under x64.

You can run the x86 version of AutoIt by right-clicking a script and selecting "Run Script (x86)".

If you suspect that a script is not working correctly under x64 but it works under x86 then please report a bug.

To see if you are running under a 64-Bit Edition of Windows use @ProcessorArch macro. To see if you are using the 32 or 64-bit version of AutoIt use @AutoItX64.

Running the 32-bit version of AutoIt on an x64 System

For Files, Windows has a special redirection mechanism for some system directories :

Directories 32-bit Value 64-Bit Value
@SystemDir @windowsdir & "\SYSWOW64" @windowsdir & "\System32"
@ProgramFilesDir @SystemDrive & "\Program Files(x86)" @systemDrive & "\Program Files"

It is possible to access the 64-bit version of those directories by disabling the redirection mechanism.


DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)
 

Some more information can be found at MSDN.

For registry, use HKCR64 or HKLM64 to bypass the redirection mechanism see Registry Functions documentation.