можно ли 32 битную программу установить на 64 битную систему

Как на 64-битной Windows запустить программы в режиме совместимости

Если в новой 64-битной Windows старая 32-битная программа не запускается или работает неправильно, вы можете запустить ее в режиме совместимости. CHIP расскажет, как это сделать.

Современные компьютеры в большинстве случаев поставляются с установленной операционной системой Windows 10 64 bit. Даже бюджетные модели уже имеют 3 и более Гбайт оперативной памяти, что позволяет задействовать системе всю мощь 64-битной разрядности обработки данных.

Подробнее о преимуществах 64 bit над 32 bit Windows вы можете прочитать в нашей статье «Преимущества перехода на 64 бита».

Но, как бы не была привлекательна 64-разрядная система, зачастую пользователь просто не имеет в своем распоряжении 64-битной программы, с которой он давно работает и которая его полностью устраивает, т.к. производитель ее просто не выпустил. Как правило, такие программы устанавливаются в Windows в отдельную папку \Program Files (x86) и их запуск осуществляется в 32-разрядном режиме.

Если в процессе запуска программа выдает ошибку или вообще не запускается, а в Windows 32 bit она работала без проблем, есть шанс запустить ее в специальном режиме, который разработчики назвали «Режим совместимости».

Для этого в Windows 7 щелкните правой кнопкой мыши на ярлыке нужной программы, а затем выберите в контекстном меню «Свойства». В открывшемся окне перейдите на вкладку «Совместимость» и установите флажок «Запустить программу в режиме совместимости с …» и в выпадающем списке укажите вариант системы для запуска.
Нажмите кнопку «OK». После этого попробуйте запустить вашу программу.

Кроме того, в контекстном меню Проводника также имеет смысл попытаться автоматически решить задачу, кликнув по строке «Исправление неполадок совместимости» — в Windows 7.

В Windows 10 при настройке запуска в совместимом режиме на вкладке «Совместимость» имеется отдельная кнопка «Запустить средство устранения проблем с совместимостью». После чего вам предложат либо использовать рекомендованные параметры, либо провести диагностику программы.

Если и после этого программа не запустилась, то стоит подойти к проблеме более основательно и попробовать варианты, указанные на официальном сайте Microsoft.

Более радикальным методом запуска программы является ее установка и использование в виртуальной машине с установленной Windows 7 32 bit. Подробнее, как установить и настроить виртуальную машину вы можете почитать в нашей статье «Как создать и настроить на ПК виртуальную ОС?».

Источник

Обзор соображений совместимости для 32-битных программ для 64-битных версий Windows

В этой статье рассматриваются соображения совместимости и ограничения для 32-битных программ, работающих на 64-битных версиях Windows.

Применяется к: Windows 10 — все выпуски, Windows Server 2012 R2
Исходный номер КБ: 896456

Сводка

В 64-битных версиях Windows подсистема Microsoft Windows-32-on-Windows-64 (WOW64) для запуска 32-битных программ без изменений. 64-битные версии Windows не поддерживают 16-битные и 32-битные драйверы. Программы, зависят от 16-битных сеяных или 32-битных драйверов, не могут работать на 64-битных версиях Windows, если производитель программы не предоставляет обновление для программы.

Могут возникнуть соображения, влияющие на совместимость или производительность программы. Вы можете определить, будет ли программа иметь проблемы с совместимостью или производительностью, опробовав программу на одной из 64-битных версий Windows.

В этой статье описываются некоторые соображения совместимости для запуска 32-битных программ в 64-битных версиях Windows. В этой статье не сравнивают 32-битные и 64-битные версии Windows 64-битных операционных систем. В этой статье предполагается, что вы понимаете разницу между 32-битными и 64-битными бинарами.

Введение

X64-версии Microsoft Windows оптимизированы для запуска 64-битных программ. Кроме того, x64-версии Windows подсистемы WOW64 для запуска 32-битных программ.

Запуск 32-битных программ

Подсистема WOW64 позволяет 32-битным программам работать без изменений в x64-версиях Windows. Подсистема WOW64 создает 32-битную среду в версиях x64 Windows. Дополнительные сведения о подсистеме WOW64 см. в разделе «Запуск 32-битных приложений» в разделе 64-bit Windows документации microsoft Platform SDK. Чтобы просмотреть этот документ, посетите следующий веб-сайт Microsoft: Запуск 32-битных приложений

Соображения производительности программы

Подсистема WOW64 создает 32-битную среду на основе x64 версий Windows. Некоторые 32-битные программы могут работать в этих операционных системах медленнее, чем в 32-битных версиях Windows. Кроме того, некоторые 32-битные программы, которые требуют много воспоминаний, могут демонстрировать повышенную производительность в x64-версиях Windows. Это увеличение производительности происходит потому, что x64-версии Windows поддерживают больше физической памяти, чем 32-битные версии Windows.

Дополнительные сведения о различиях в управлении памятью между 64-битными и 32-битными версиями Windows см. в разделе «Виртуальное адресное пространство» в разделе «Управление памятью» документации microsoft Platform SDK. Чтобы просмотреть этот документ, посетите следующий веб-сайт Microsoft: виртуальное пространство адресов

Ограничения подсистемы WOW64

Подсистема WOW64 не поддерживает следующие программы:

16-битные программы

X64-версии Windows не поддерживают 16-битные или 16-битные компоненты программы. Эмуляция программного обеспечения, необходимая для запуска 16-битных программ в версии Windows x64, значительно снизит производительность этих программ.

Читайте также:  Флаги на авроре что означают

16-битный установщик часто используется для установки и настройки 32-битной программы. Кроме того, некоторые 32-битные программы требуют правильного запуска 16-битных компонентов. Хотя 32-битные программы с 16-битным компонентом могут работать правильно после установки, 16-битный установщик не может установить 32-битную программу. Программы, для работы с 16-битным компонентом не могут работать на x64-версии Windows.

Если 32-битная программа с 16-битным компонентом попытается запустить 16-битный файл или компонент, 32-битная программа будет входить в журнал system сообщение об ошибке. После этого операционная система позволит 32-битной программе справиться с ошибкой.

Чтобы определить, требуется ли для программы 16-битный компонент, установите и запустите программу. Если программа создает сообщение об ошибке, обратитесь к производителю программы для обновления, совместимого с x64-версиями Windows.

32-битные драйверы

X64-версии Windows не поддерживают 32-битные драйверы. Все драйверы аппаратных устройств и драйверы программ должны быть компилируются специально для x64-версии Windows.

Если 32-битная программа пытается установить 32-битный драйвер на компьютере с версией Windows x64, установка драйвера не удается. Когда такое поведение происходит, x64-основанная версия Windows сообщает об ошибке в 32-битную программу.

Если 32-битная программа пытается зарегистрировать 32-битный драйвер для автоматического запуска на компьютере с версией Windows на основе x64, загрузчик загрузки на компьютере распознает, что 32-битный драйвер не поддерживается. X64-версия Windows не запустит 32-битный драйвер, но запустит другие зарегистрированные драйверы.

Чтобы определить, требуется ли программе 32-битный драйвер, установите и запустите программу. Если программа создает сообщение об ошибке, обратитесь к производителю программы для обновления, совместимого с x64-версиями Windows.

Дополнительные рекомендации

Перенаправление реестра и файлов

Дополнительные сведения о перенаправлении файловой системы и реестра см. в разделе «Запуск 32-битных приложений» в разделе 64-bit Windows документации microsoft Platform SDK. Чтобы просмотреть этот документ, посетите следующий веб-сайт Microsoft: Запуск 32-битных приложений
Подсистема WOW64 перенаправляет 32-битные двоичные вызовы, не требуя изменений в 32-битных двоичных файлах. Однако при выполнении некоторых задач вы можете увидеть доказательства этого перенаправления. Например, если ввести сценарий командной строки в 64-битной командной строке, команда может не получить доступ к 32-битным программам в папке «Файлы программ». Подсистема WOW64 перенаправляет и устанавливает 32-битные программы в папке Program Files (x86). Чтобы получить доступ к правильной папке, необходимо изменить сценарий командной строки. Кроме того, необходимо ввести скрипт командной строки в 32-битной командной строке. 32-битная командная подсказка автоматически перенаправляет вызовы файловой системы в правильный 32-битный каталог.

Чтобы запустить 32-битную командную подсказку, выполните следующие действия:

Проверка версии

Некоторые 32-битные программы изучают сведения о версии операционной системы. Многие 32-битные программы, которые выполняют эту проверку, не распознают x64-версии Windows как совместимые операционные системы. При таком поведении 32-битная программа создает ошибку проверки версии, а затем закрывается. Если такое поведение происходит, обратитесь к производителю 32-битной программы для обновления, совместимого с x64-версиями Windows.

OpenGL

X64-версии Windows не включают драйвер графики OpenGL. Обратитесь к производителю устройства для драйвера, который совместим с x64-версиями Windows.

Консоль управления Майкрософт (MMC)

В x64-версиях Windows 64-битная версия консоли управления Microsoft (MMC) для запуска различных оснастки. Однако иногда может потребоваться, чтобы 32-битная версия MMC запускала оснастку в подсистеме WOW64. Дополнительные сведения о поведении MMC в x64-версиях Windows см. в статье «Запуск 32-битных и 64-битных 64-битных 64-битных 64-битных 64-битных Windows» в разделе Использование MMC 2.0 документации microsoft Platform SDK. Чтобы просмотреть этот документ, посетите следующий веб-сайт Microsoft: запуск 32-битных и 64-битных 64-битных 64-битных 64-битных Windows

x64 Considerations

X64-версии Windows поддерживают 32-битные инструкции и 64-битные инструкции. Подсистема WOW64 может запускать 32-битные программы в родном 64-битном режиме, переключая родной режим процессора. Отдельные уровни оборудования или программного обеспечения не требуются. При запуске 32-битной программы на основе x64 версий Windows вы можете не испытывать снижения производительности.

Дополнительные сведения о производительности процессора на основе x64 обратитесь к производителю процессора или посетите веб-сайт производителя. Сведения и решение, представленные в этом документе, представляют текущее представление корпорации Майкрософт по этим вопросам на дату публикации. Это решение доступно через Корпорацию Майкрософт или сторонний поставщик. Корпорация Майкрософт специально не рекомендует сторонних поставщиков или сторонних решений, которые могут быть описаны в этой статье. В этой статье также могут быть другие сторонние поставщики или сторонние решения. Поскольку Корпорация Майкрософт должна реагировать на изменение условий на рынке, эта информация не должна быть интерпретируется как обязательство корпорации Майкрософт. Корпорация Майкрософт не может гарантировать или одобрять точность любой информации или любого решения, представленного Корпорацией Майкрософт или любым упомянутым сторонним поставщиком.

Читайте также:  куда можно съездить в оренбургской области на выходные летом с ребенком

Корпорация Майкрософт не делает никаких гарантий и исключает все представления, гарантии и условия, будь то экспресс, подразумеваемые или нормативные. К ним относятся, но не ограничиваются представлениями, гарантиями или условиями названия, неущемления, удовлетворительного состояния, торговой доступности и пригодности для определенной цели, в отношении любых служб, решений, продуктов или любых других материалов или сведений. В любом случае Корпорация Майкрософт не несет ответственности за любое стороне решение, которое упоминается в этой статье.

Ссылки

Дополнительные сведения об процессоре AMD64 можно получить на следующем веб-сайте Advanced Micro Devices: ВЕБ-сайт AMD
Контактные данные сторонних организаций предоставлены в этой статье с целью помочь пользователям получить необходимую техническую поддержку. Эти данные могут быть изменены без предварительного уведомления. Корпорация Майкрософт не дает гарантий относительно правильности приведенных контактных данных сторонних производителей.

Дополнительные сведения о разработке программ для версий Windows Server 2003 и Windows XP можно найти на следующем веб-сайте Microsoft: Введение в разработку приложений для 64-битной версии Windows

В этой статье упомянуты программные продукты независимых производителей. Корпорация Майкрософт не дает никаких явных, подразумеваемых и прочих гарантий относительно производительности или надежности этих продуктов.

Источник

Урок 2. Поддержка 32-битных приложений в 64-битной среде Windows

Прежде чем приступить к тематике разработки кода 64-битных программ, остановимся на вопросе обратной совместимости 64-битных версий Windows с 32-битными приложениями. Обратная совместимость осуществляется за счет механизмов, реализованных в WoW64.

Подсистема WoW64 не поддерживает следующие программы:

Накладные расходы

Существуют различия WoW64 в зависимости от архитектуры процессора. Например, 64-битная версия Windows разработанная для процессора Intel Itanium 2 использует WoW64 для эмуляции x86 инструкций. Такая эмуляция весьма ресурсоемка по сравнению с WoW64 для архитектуры Intel 64, так как происходит переключение с 64-битного режима в режим совместимости при выполнении 32-битных программ.

Компиляция 64-битного кода не только исключает необходимость в WoW64, но и дает дополнительный прирост производительности. Это связано с архитектурными изменениями в микропроцессоре, такими, как увеличение количества регистров общего назначения. Для средней программы можно ожидать в пределах 5-15% прироста производительности от простой перекомпиляции.

Преимущество 64-битной среды для 32-битных программ

Из-за наличия прослойки WoW64 32-битные программы работают менее эффективно в 64-битной среде, чем в 32-битной. Но все-таки простые 32-битные приложения могут получить одно преимущество от их запуска в 64-битной среде. Вы, наверное, знаете, что программа, собранная с ключом /LARGEADDRESSAWARE:YES, может выделять до 3-х гигабайт памяти, если 32-битная операционная система Windows запущена с ключом /3gb. Так вот, эта же 32-битная программа, запущенная на 64-битной системе, может выделить почти 4 GB памяти (на практике около 3.5 GB).

Перенаправления

Подсистема WoW64 изолирует 32-разрядные программы от 64-разрядных путем перенаправления обращений к файлам и реестру. Это предотвращает случайный доступ 32-битных программ к данным 64-битных приложений. Например, 32-битное приложение, которое запускает файл DLL из каталога %systemroot%\System32, может случайно обратиться к 64-разрядному файлу DLL, который несовместим с 32-битной программой. Во избежание этого подсистема WoW64 перенаправляет доступ из папки %systemroot%\System32 в папку %systemroot%\SysWOW64. Это перенаправление позволяет предотвратить ошибки совместимости, поскольку при этом требуется файл DLL, созданный специально для работы с 32-разрядными приложениями.

Подробнее с механизмами перенаправления файловой системы и реестра можно познакомиться в разделе MSDN «Running 32-bit Applications».

Почему невозможно использовать в 64-битной программе 32-битные DLL? Можно ли это обойти?

А вот загрузить ресурсы из 32-битной DLL в 64-битный процесс совсем несложно. Это можно сделать, если при вызове LoadLibraryEx указать флаг LOAD_LIBRARY_AS_DATAFILE.

Постепенный отказ от поддержки 32-битных программ

Вполне естественно, если компания Microsoft будет стимулировать переход на 64-битные системы, постепенно отказываясь от поддержки 32-битных программ в ряде версий операционной системы Windows. Конечно, это будет очень медленный процесс. Но все-таки первые шаги в этом направлении уже сделаны.

Многие администраторы знают про относительно новый режим установки и работы серверной версии операционной системы под названием Server Core. Это тот режим, о котором участники войн «Windows vs Linux» говорили очень давно. Одним из аргументов сторонников использования Linux на сервере была возможность установить серверную ОС без графического интерфейса (GUI). Но вот и в Windows Server появилась такая возможность. Установка в этом режиме позволяет получить только командную строку без пользовательского интерфейса.

Эта возможность (установка Server Core) появилась в Windows Server 2008. Но в Windows Server 2008 R2 появилось нововведение, приближающее 64-битное будущее. При установке Windows Server 2008 R2 (Server Core) поддержка запуска 32-битных приложений стала опциональной. Причем по умолчанию эта поддержка выключена. И при попытке запуска 32-битного приложения в режиме Server Core пользователь получит сообщение о невозможности запуска. Конечно, можно добавить поддержку 32-битных программ:

Читайте также:  можно ли совмещать вредные профессии

start /w ocsetup ServerCore-WOW64

В обычном (Full Installation) режиме 32-битные приложения по умолчанию запускаются, а вот в Server Core уже нет.

Тенденция очевидна. Со временем все более рациональным будет создание 64-битных версий приложений, так как они смогут функционировать на большем числе версий операционных систем.

Дополнительная информация

Интересным источником информации по системе WoW64 является блог Алексея Пахунова: http://blog.not-a-kernel-guy.com/. Алексей является сотрудником компании Microsoft и принимает непосредственное участие в разработке подсистемы WoW64.

Авторы курса: Андрей Карпов (karpov@viva64.com), Евгений Рыжков (evg@viva64.com).

Источник

Как установить и запустить программное обеспечение 32-Bit в Windows 64-bit

Обновление: Перестаньте получать сообщения об ошибках и замедляйте работу своей системы с помощью нашего инструмента оптимизации. Получите это сейчас на эту ссылку

В Windows 64-bit приложения 32-bit выполняются в эмуляции операционной системы 32-bit, называемой Windows-32-bit, в Windows 64-bit или WOW64 для краткости. WOW64 перехватывает все вызовы операционной системы, сделанные 32-битным приложением.

Для каждого вызова операционной системы WOW64 генерирует собственные системные вызовы 64 и преобразует структуры данных 32-бит в структуры, ориентированные на 64. Соответствующий собственный системный вызов 64 передается ядру операционной системы, и все выходные данные из системного вызова 64 преобразуются в формат, подходящий для вызывающего приложения, прежде чем возвращаться.

Как и 32-битные приложения, WOW64 работает в пользовательском режиме, поэтому ошибки, возникающие при переводе вызова операционной системы, возникают только на этом уровне. Ядро 64 не может быть назначено.

Поскольку WOW64 работает в пользовательском режиме, все коды приложений 32 должны также работать в пользовательском режиме. Это объясняет, почему 32-битное устройство в режиме ядра драйверы и приложения на их основе не работают на 64-битной Windows.

Активация 32-битных инсталляций на 64-битных компьютерах Windows

Ноябрьское обновление 2021:

Использование консоли CommCell (удаленная установка)

Альтернативный метод: использование установочного пакета (локальная установка)

Перед запуском инсталляционного пакета необходимо настроить раздел реестра на 64-битном компьютере:

Откройте редактор реестра Windows, затем перейдите в следующий каталог:

Заключение

Пользователям становится все сложнее выбирать между 32-битной и 64-битной архитектурами, поддерживаемыми Windows. Система изолирует 32-битные приложения от 64-битных приложений, в том числе предотвращая конфликты между файлами и реестром. Консоль, графический интерфейс и сервисные приложения поддерживаются. Система обеспечивает совместимость сверх предела 32 / 64 для таких сценариев, как копирование и вставка и COM. Тем не менее, 32-битные процессы не могут загружать 64-битные DLL для выполнения, а 64-битные процессы не могут загружать 32-битные DLL для выполнения. Это ограничение не распространяется на библиотеки DLL, загруженные как файлы данных или файлы ресурсов изображений.

CCNA, веб-разработчик, ПК для устранения неполадок

Я компьютерный энтузиаст и практикующий ИТ-специалист. У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.

Источник

Работают ли 32-битные программы под 64-битной Windows 7

Подсистема преобразования, которая обеспечивает совместимость работ 32-битного программного обеспечения в 64-битной операционной системе, имеет название Windows-on- Windows 64-bit. Благодаря этой программе множество 32-битных программ работают в более новой системе корректно. Но бывают и исключения. Трудности зачастую возникают с программами данных категорий:

-резервное копирование. Программы, которые создают бэкапы, работают с системными папками Windows напрямую. Однако WOW64 иногда может переправить доступ 32-битного программного обеспечения в совершенно другие папки. Если программа не учла этого, то результат резервного копирования может быть неполным, а в некоторых случаях даже ошибочным.

Оптимизация Windows. Устаревшие программы, которые были рассчитаны на 32-разрядную операционную систему Windows, нельзя запускать на 64-разрядной Windows 7. Ведь при установке они не толко не будут работать, но и могут нанести вред Вашей операционной системе.

Антивирусы. Если Вы хотите качественно защитить Ваш компьютер от вирусов, шпионских программ и т.д., то следует при установке антивирусного программного обеспечения и прочих подобных программ обращать внимание, для какого вида системы они выпущены. То программное обеспечение, которое устарело и использовалось для 32-разрядной операционной системы не способно качественно проконтролировать все системные папки, а значит, может пропустить вредителей, которые и были, как раз-таки, разработаны для 64-разрядной операционной системы. Современное антивирусное программное обеспечение подходит для двух видов систем, как для 64-х, так и для 32-разрядных.

Если установленная программа работает с ошибками на 64-битной системе, то рекомендуется установить ее более новую версию, а так же версии всех обновлений, скачав их с сайта изготовителя.

Источник

Строительный портал