Якої технічної відповіді ви хочете? Ви, ймовірно, можете змусити exe завжди працювати 32-бітовим за допомогою декількох інструментів SDK, але для цього потрібно трохи працювати.
Проста відповідь - це запуск з 32-бітного процесу (наприклад, використання %SystemRoot%\SYSWOW64\cmd.exe
для запуску).
Складніше - перевірити, що це за exe, а потім змінити його самостійно. Тут слід розуміти, що компільований код з мов, які безпосередньо працюють з API API, створюється розробником як 32-бітовий або 64-бітний під час компіляції. Потім це неможливо змінити, не повертаючись до вихідного коду.
Однак все частіше програми пишуться через шар віртуалізації, що спрощує написання програм. Існує два поширених: .NET і Java. Я не впевнений у Java, окрім того, що знаю, що змусити встановити правильну програму виконання Java з вирішенням проблеми.
Для .NET ви можете використовувати інструменти SDK для:
- Підтвердити , що додаток «AnyCPU»:
corflags myExe.exe
. Використовуючи утиліту .NET SDK для читання заголовків збірки .NET, для exe повернеться щось на зразок:
Версія: v4.0.30319
Заголовок CLR: 2.5
PE: PE32
CorFlags: 0x20003
ІЛЬНО: 1
32BITREQ: 0
32BITPREF: 1
Підписано: 0
32BITREQ
каже мені , що це AnyCPU
тому , що 32bit не потрібно.
- Використовуйте
corflags
з його /32BITREQ+
опцією, щоб змінити EXE на 32-бітний.