У меня есть несколько исполняемых файлов установщика, которые являются 32-битными версиями. Когда я пытался установить эти программы, выполняя на ОС Windows-7, он выдал следующую ошибку:

Версия этого файла не совместима с версией Windows, которую вы используете. Проверьте системную информацию вашего компьютера, чтобы узнать, нужна ли вам версия программы для x86(32-битная) или x64(64-битная).
  1. Означает ли это, что исполняемые файлы более старых 32-битных версий не могут работать в 64-битной ОС Windows-7?

  2. Как я могу получить более старые исполняемые файлы 32-битной версии, работающие на Windows-7?

  3. Если я сгенерирую некоторый исполняемый файл, скомпилировав файл C с использованием MS-VS2005 в 64-битной системе Windows-7, какая версия сгенерированного исполняемого файла будет 32-битной или 64-битной?

Спасибо,

-ОБЪЯВЛЕНИЕ

2 ответа2

0

Означает ли это, что исполняемые файлы более старых 32-битных версий не могут работать в 64-битной ОС Windows-7?

Обычно 32-битные исполняемые файлы просто работают. Однако программист может жестко ограничить версии кода (или проверить версию неправильно).

Как я могу получить более старые исполняемые файлы 32-битной версии, работающие на Windows-7?

Это зависит, почему это терпит неудачу. Открыть свойства exe в проводнике и сделать выбор на вкладке «Совместимость» - самый простой подход. У MS есть более сложные инструменты совместимости, которые могут обеспечить все виды переопределений поведения.

Если я сгенерирую некоторый исполняемый файл, скомпилировав файл C с использованием MS-VS2005 в 64-битной системе Windows-7, какая версия сгенерированного исполняемого файла будет 32-битной или 64-битной?

Это зависит от настроек проекта. Компилятор Windows SDK C/C++ уже давно поддерживает 64-битную версию.

0

Альтернативой запуска 32-битного exe будет установка виртуальной машины и установка 32-битной ОС в. Не уверен, есть ли другие альтернативы.

Я полагаю, что это основано на том, что вы программируете в этой программе на c, и влияет ли это на работу в 32-битной или 64-битной ОС. и, таким образом, скорее всего, будет работать только в 32-битной.

взгляните на этот MSDN

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .