Как установить программу 32 на Windows 7 64

Содержание

Как запустить 32-битную программу на 64-битной Windows 7?

3 решения для запуска 64-битных программ в 32-битной Windows 7/8/10

  1. №1. Загрузите и установите 32-битную версию программы на 32-битную ОС — обычный способ.
  2. №2. Обновление Windows 10/8/7 с 32-разрядной до 64-разрядной — лучший выбор.
  3. №3. Используйте VMware для запуска 64-разрядных программ, приложений и программного обеспечения — альтернатива.

Как запустить 32-битную программу в 64-битной системе?

Как запустить 32-битную программу в 64

  1. Установите 32-битную программу на свой 64-битный компьютер (если вы еще этого не сделали). Вставьте установочный компакт-диск или DVD-диск программы в дисковод вашего компьютера. …
  2. Найдите ярлык, который загружает вашу 32-битную программу. …
  3. Щелкните значок, чтобы открыть программу.

Может ли 64-разрядная версия Windows запускать 32-разрядные программы?

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

Как перейти с 32 bit на 64 bit Windows 7 без флешки или диска и без потери данных

Что будет, если я установлю 64Bit на 32Bit?

Если бы он был 32-битным, вы не могли бы изначально установить 64-битную ОС. Не волнуйтесь, ваш компьютер будет работать нормально. Собственно Архитектура: x86_64 означает, что работает 64-битное ядро. Архитектура ЦП показана в строке (режимах) работы ЦП.

Как запустить программу, несовместимую с 64-битной версией?

Как вручную выбрать режимы совместимости с Windows 10

  1. Щелкните правой кнопкой мыши файл. EXE-файл и выберите Свойства.
  2. На вкладке «Совместимость» установите флажок «Запустить эту программу в режиме совместимости для:».
  3. Выберите версию Windows, для которой была написана программа.
  4. Нажмите кнопку ОК.

64-битная версия быстрее 32-битной?

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

Следует ли мне устанавливать 32- или 64-разрядное программное обеспечение?

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

64-битные программы работают быстрее?

Больше данных передается между ЦП и ОЗУ при каждой выборке из памяти (64 бита вместо 32), поэтому 64-битные программы могут быть быстрее, если они написаны чтобы они как следует этим воспользовались.

Как поменять с 32 bit на 64 на windows 7!!Самый легкий и быстрый способ

Могу ли я перейти с 32-битной на 64-битную?

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

Могу ли я загружать два 32bit и 64bit?

Да, ты можешь. Просто убедитесь, что у вас установлены соответствующие разделы для обеих операционных систем. Вы можете установить до или после, не имеет значения.

Как я могу изменить 32-битную на 64-битную?

Шаг 1: нажмите Клавиша Windows + Я с клавиатуры. Шаг 2: Щелкните Система. Шаг 3: Нажмите «О программе». Шаг 4. Проверьте тип системы, если он говорит: 32-разрядная операционная система, процессор на базе x64, значит, на вашем компьютере установлена ​​32-разрядная версия Windows 10 на 64-разрядном процессоре.

Читайте также:
Программы на планшет Виндовс 10

Источник: frameboxxindore.com

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

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

WoW64 (Windows-on-Windows 64-bit) — подсистема операционной системы Windows, позволяющая запускать 32-битные приложения на всех 64-битных версиях Windows.

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

  • программы, скомпилированные для 16-разрядных операционных систем;
  • программы режима ядра, скомпилированные для 32-разрядных операционных систем.

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

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

WoW64 на архитектуре Intel 64 (AMD64 / x64) не требует эмуляции инструкций. Здесь подсистема WoW64 эмулирует только 32-битное окружение за счет дополнительной прослойки между 32-битным приложением и 64-битным Windows API. Где-то эта прослойка тонкая, где-то не очень. Для средней программы потери в производительности из-за наличия такой прослойки составят около 2%.

Для некоторых программ это значение может быть больше. Два процента — это немного, но следует учитывать, что 32-битные приложения работают немного медленнее под управлением 64-битной операционной системы Windows, чем в 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-битного процесса и выполнить код из неё невозможно. Невозможно в силу дизайна 64-битных систем. В принципе, невозможно. Не помогут ни хитрости, ни недокументированные пути. Для этого нужно загрузить и проинициализировать WoW64, не говоря уже о структурах в ядре.

Фактически нужно будет на лету превратить 64-битный процесс в 32-х битный. Подробнее эта тема рассмотрена в посте «Недокументированные функции; Загрузка 32-х битных DLL в 64-х битный процесс». Единственное, что можно порекомендовать, — это создание суррогатного процесса и взаимодействия с ним посредством технологии COM. Об этом рассказывается в статье «Accessing 32-bit DLLs from 64-bit code».

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

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

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

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

Читайте также:
Как отключить средство удаления вредоносных программ Windows 7

Эта возможность (установка 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.

Источник: pvs-studio.ru

Как сделать 32-битную программу из 64-битной версии?

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

В общем, есть ли способ сделать 32-битную программу из 64-битной установки (.исполняемый. ,msi)?

задан Ooker

Количество просмотров материала

29.04.2023 5:31 3698

Распечатать страницу

4 ответа

нет, это невозможно. Причина довольно широка, может быть, даже слишком широка для суперпользователя, учитывая, что вам нужно будет объяснить основы того, как были созданы x86 и x64, и как это влияет на программирование в целом.

но если коротко объяснить, то все сводится к следующему:

в прошлом у нас были 16-битные процессоры. Затем intel сделала первый 32-разрядный процессор, также известный как x86. Это 8086, 80286 (286 для краткости) etc. Это было в основном модификация 16-битных процессоров с добавлением дополнительных наборов команд.

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

как процессор 32 бита, есть верхний предел, а именно наибольшее 32-битное число. Это означает, что объем выделяемой памяти может достигать примерно 3,5 ГБ.

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

кроме того 32-битные процессоры работали довольно хорошо в течение длительного времени.

в какой-то момент AMD вошел рынок и ввел обработчик 64bit. AMD создали свои собственные наборы инструкций, чтобы позволить работать с 64 битами, сохраняя наборы инструкций intel для 32 бит в такт, чтобы обеспечить обратную совместимость с 32 битами.

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

теперь, когда я объясню, почему это трудно сделать, давайте продолжим объяснять проблема с точки зрения программирования.

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

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

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

Читайте также:
Программа сохраняющая обновления Windows

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

отвечен LPChip 2023-04-30 13:19

теоретически это можно сделать!

есть способы перевести с нейтрального код/внутреннее представление для конкретной архитектуры бинарных как современные компиляторы/мандраж работы. Существуют также эмулятор, которые запускают программы для другой архитектуры на текущей. Бохи и qemu являются двумя из самых известных. Смотри:

  • запуск x86-64 ASM на x86-32 процессор
  • Как запустить Windows из эмулятора на компьютере, отличном от x86?

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

однако, если ваш компьютер только 32-бит, это означает, что он уже более 10 лет. Практически любые процессоры Intel от Pentium 4 Prescott в 2004 далее (кроме некоторых ранних процессоров Atom) и все процессоры AMD из Athlon 64 в 2003 далее 64-разрядная версия. Пришло время для обновления.

Если ваш компьютер достаточно новый, чтобы поддерживать x86_64 и VT-x, то вы можете run 64-разрядная виртуальная машина внутри узла, однако это не рекомендуется, и производительность будет еще хуже, чем при работе 64-разрядной ОС с 32-разрядной виртуальной машиной внутри. 64-битной ОС не нужно в два раза больше памяти по сравнению с 32-битной, как многие думали, так что даже с только 2 ГБ оперативной памяти, 64-битная ОС, как правило, все еще быстрее из-за удвоенного количества регистров и многих других вещей. Между 1 и 2 ГБ оперативной памяти это возможно, но я бы пошел на 64-битный

Что касается мер безопасности, 32-разрядные операционные системы часто опоздал на патчи безопасности. Например, патчи Meltdown и Spectre для 32-битной Linux более полугода после того, как 64-битный Linux был исправлен. Meltdown патчи предоставляются для 64-битной Windows 10 построить 1507 и 32-разрядные пользователи защищены только после сборки 1511. И даже если они пропатчены,такие древние машины будут обычно лицо гораздо больше влияет на производительность потому что у них нет новых инструкций и функций, чтобы компенсировать замедление. По этой причине MS не включить патч на некоторых старых ПК если явно не сказано пользователем.

иногда не будет исправлено вообще потому что нет достаточного количества пользователей, поэтому мало стимулов тратить огромные усилия. Вопрос тоже невозможно fix без аппаратной поддержки, если это аппаратный баг. Например, для недавних атак боковых каналов, таких как Spectre или L1TF, также требуется обновленный микрокод, поэтому, если производитель процессора и/или материнской платы не выпускает обновление прошивки, вам не повезло! Эти ошибки влияют на процессоры в последние два десятилетия, но это не возможно, чтобы обеспечить патчи для очень старых систем. Windows 7 также упал Pentium 3 поддержка потому что это слишком трудно исправить без поддержки SSE2, или потому, что слишком мало люди работают на этих процессорах.

32-разрядных Windows также более уязвимы, потому что:

  • оно имеет меньше горяч-латать возможность. Только ~30% 32-разрядного ядра Windows является исправляемым, по сравнению со 100% 64-битной. Он также не поддерживает Защита От Исправлений Ядра
  • не требует подписи драйверов, как на 64-битной Windows
  • он имеет меньше места для ASLR в работа

если вы запускаете 64-битную ОС в эмуляторе, то она будет еще медленнее. И даже если вы принимаете скорость сканирования и использовать эмулятор, то malwares на хосте все еще может атаковать виртуальную машину в такой уязвимой системе. Опять же, время для обновления, если вы действительно заботитесь о безопасности, или вам придется жить с менее защищенной системой бесконечно

читайте далее:

  • 32-бит безопаснее, чем 64-разрядная?
  • 64-разрядная версия Windows безопаснее 32-разрядной?
  • почему 64-разрядная версия Windows более безопасна
  • как преобразовать 32-битный скомпилированный двоичный файл в 64-битный

Источник: kompsekret.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru