Изначально AutoIt являлся 32-битным приложением. Начиная с версии 3.2.10.0 добавлены x64-версии некоторых компонентов, включая:
Если программа установки запущена на x64-версии ОС, то будет предложено установить и настроить x64 версию этих компонентов. Эти файлы полностью совместимы с x64, однако, некоторые скрипты, использующие DllCall/DllStruct могут нарушить эту совместимость (например, если использовать 32-битное число в качестве указателя). Это используется в некоторых UDF, поставляемых с AutoIt, и, пока ещё не все они были протестированы на совместимость с x64.
Можно запустить x86-версию AutoIt, выбрав пункт "Run Script (x86)" в контекстном меню.
Если вы подозреваете, что скрипт некорректно работает в x64 системе, но работает в x86, тогда, пожалуйста, сообщите об ошибке.
Чтобы узнать, под какой версией Windows работает скрипт, используйте макрос @OSArch. Чтобы узнать, используется 32 или 64-битная версия AutoIt, используйте макрос @AutoItX64.
Для файлов, Windows имеет особый механизм перенаправления некоторых системных каталогов, в зависимости от разрядности, исполняемого EXE-файла:
Каталоги | 32-битная версия EXE-файла | 64-битная версия EXE-файла |
---|---|---|
@SystemDir | @WindowsDir & "\SYSWOW64" | @WindowsDir & "\System32" |
@ProgramFilesDir | {SystemDrive} & "\Program Files (x86)" | {SystemDrive} & "\Program Files" |
Доступ к 64-битной версии этих каталогов возможен с помощью отключения механизма перенаправления.
DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)
Дополнительные сведения можно найти в MSDN.
Применение HKCR64 или HKLM64 ключей реестра возможно при отключении механизма перенаправления, что описано в документации к функциям, работающих с реестром.