Запуск в 64-битных версиях Windows

Запуск в 64-битных версиях Windows

Изначально 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.


Запуск 32-битной версии AutoIt на системе x64

Для файлов, 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 ключей реестра возможно при отключении механизма перенаправления, что описано в документации к функциям, работающих с реестром.