С windows syswow64 для windows 64 bit

Папки «System32» и «SysWOW64» в Windows: в чём разница?

Детальное рассмотрение системных папок «System32» и «SysWOW64». За что они отвечают, в чём разница, и в каких системах присутствуют. Разработка новых современных компьютерных устройств требует от программного обеспечения более надёжного исполнения программной оболочки и возможности широкого применения без использования дополнительных настроек и установок.

Одним из главных достоинств операционной системы «Windows 10» является унификация, которая позволяет применять ее на различных видах устройств: персональных компьютерах и ноутбуках, нетбуках, мобильных устройствах и т.д. В зависимости от вида компьютерных комплектующих на устройстве пользователя может применяться 32-разрядная или 64-разрядная версия операционной системы «Windows», что в свою очередь позволяет шире использовать возможности компьютерного персонального устройства.

В этой статье мы постараемся разобраться, В чем разница между папками «System32» и «SysWOW64» в операционной системе «Windows»? Если у вас на компьютере установлена 64-разрядная версия «Windows», то у вас на системном диске «С» присутствуют две отдельные папки, содержащие в себе установленные программы и приложения: «Program Files» и «Program Files (х86)». Причём, одно и то же приложение может находиться и в той и в другой папке. Но на этом различия c 32-разрядной версией операционной системы «Windows» не заканчивается. У вас также в папке «Windows» находятся две отдельных системных папки «System32» и «SysWOW64», в которых хранятся библиотеки «.DLL» и исполняемые файлы. И если вы посмотрите внимательно на содержимое папок, то обратите внимание, что «System32» содержит в себе огромное количество 64-битных файлов, а «SysWOW64», наоборот, 32-битных файлов. Абсолютно похожая ситуация и с папками «Program Files» и «Program Files(х86)». В первой из них представлены 64-битные файлы, а во второй находятся 32-битные файлы. Какой в этом смысл и для чего это реализовано мы в этой статье и рассмотрим.

Что представляет собой папка «System32»?

Папка «System32», находящаяся в системной папке «Windows», отвечает за настройки операционной системы. В ней расположено большинство исполняемых файлов служебных программ и системных утилит, файлы динамических библиотек «.DLL», драйвера и файлы для работы с реестром. Также папка содержит внутренние каталоги, включающие множество небольших приложений, входящих в состав операционной системы. Благодаря им конечный пользователь может выходить в сеть «Интернет», обрабатывать электронную почту, воспроизводить музыкальные и видео файлы, создавать и сканировать документы, редактировать изображения и т.д. И хотя большинство файлов, хранящихся здесь, принадлежат операционной системе «Windows», сторонние программы и приложения также сохраняют свои собственные библиотеки «.DLL-файлов» в эту папку, необходимые им для полноценной и корректной работы.

Поэтому, любые программы и приложения, которые вы запускаете на вашем компьютере, независимо от места их расположения и хранения (будь то системный диск «С» или другой диск), все используют общесистемные файлы динамических библиотек из папки «System32».

Читайте также:  Microsoft media feature pack windows server 2012

Принципы распределения разно-разрядных библиотек

Как мы уже указывали ранее, только в 64-разрядной версии операционной системе «Windows» присутствуют две схожих папки: «Program Files» и «Program Files(x86)». Основным отличительным признаком папок является тот факт, что они содержат версии 64-разрядных и 32-разрядных программ и файлов соответственно. Причем, 64- разрядные программы, для которых необходимы 64-разрядные динамически подключаемые библиотеки «.DLL-файлов», расположены в папке «Program Files» в заглавной системной директории «С». В свою очередь, 32-разрядные программы, использующие 32-разрядные библиотеки динамической компоновки «.DLL», расположены в той же директории «С» в папке «Program Files(x86)».

Корпорация «Microsoft» предпочитает, чтобы 32-разрядное и 64-разрядное программное обеспечение не смешивались в одном месте. Поэтому в системной директории и созданы две разные папки «Program Files», содержащие раздельно 64 и 32-разрядное программное обеспечение. Такое разделение позволяет защититься от случаев, когда разные программы используют библиотеку не своего разряда, что может вызвать аварию в системе. Благодаря такому подходу, можно быть стопроцентно уверенным, что у вас не возникнет никаких проблем или конфликта интересов при запуске различных программ и приложений.

Однако не все динамически подключаемые библиотеки «.DLL-файлов» хранятся в системной папке «Program Files». Многие основные системные библиотеки динамической компоновки «.DLL» расположены в главной системной папке «Windows» на диске «С». И туда, соответственно, выгружают свои собственные файлы библиотек и некоторые программы. Таким образом, во избежание аварийного завершения работы приложений и программ, операционная системы вынуждена также создать в системной папке «Windows» отдельные 32-разрядные и 64-разрядные версии папки «System32».

Различия папок «System32» и «SysWOW64»

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

В стандартном 32-разрядном компьютере операционная система по умолчанию сохраняет все соответствующие программы и приложения на системный диск «С» в папку «Program Files», применяя для корректной работы общесистемную динамическую библиотеку файлов, расположенную по стандартному адресу: «C: \ Windows \ System32».

В 64-разрядном компьютере, как уже говорилось в предыдущем разделе, ситуация обстоит несколько иначе. В своей работе операционная система может использовать как 32-разрядные, так и 64-разрядные программы. И хранит такие программы и динамически подключаемые библиотеки, соответственно, в отдельно предназначенных для них папках. 64-разрядные программы расположены по адресу: «C: \ Program Files», а ее динамические библиотеки по адресу: «C: \ Windows \ System32». В свою очередь, 32-разрядные программы и библиотеки динамической компоновки «.DLL» сохранены в «C: \ Program Files(x86)» и «C: \ Windows \ SysWOW64» соответственно.

На первый взгляд такое разделение программ по папкам выглядит несколько необычно. Более привычно было бы разместить 32-разрядные файлы в папку с созвучным именем «System32». Однако такая градация исходит из того, что на ранних компьютерах использовались чипы «Intel 8086». Исходные чипы были 16-разрядными, но более продвинутые версии стали 32-разрядными. Поэтому «х86» стали относить к 32-разрядной версии. А новую 64-разрядную архитектуру вместо этого называют «x64». Такое обозначение вы можете встретить в характеристиках системы компьютера, где вместо разрядности указывают значения «х86» и «х64». Поэтому получается, что папка «Program Files(x86)» содержит 32-разрядные программы, использующие старую архитектуру процессора «x86». А в папку «Program Files» переходят 64-разрядные программы на новой архитектуре процессора «х64». А так как папка «System32» системно связана с папкой «Program Files», то поэтому в ней и происходит сохранение динамически подключаемые библиотеки DLL-файлов для 64-разрядных программ.

Читайте также:  Калькулятор для windows без установки

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

Что обозначает и как расшифровать значение папки SysWOW64

Полное название папки «SysWOW64» состоит из двух сокращений. Первое «Sys» является сокращением от «System», что значит система или системная папка. Второе сокращение «WOW64» расшифровывается как «Windows-on-Windows 64-bit», и представляет собой подсистему основной операционной системы «Windows», которая позволяет запускать любые 32-разрядные приложения и программы на всех 64-разрядных версиях «Windows». Используя встроенный механизм, подсистема автоматически перенаправляет доступ к файлам для обеспечения правильной работы программ.

Например, когда вы устанавливаете 32-разрядную программу в 64-разрядной версии операционной системы «Windows», и программа пытается выполнить установку в папку: «C: \ Program Files», то подсистема «WoW64» перенаправляет программу по адресу: «C: \ Program Files(x86)». И, если программа пытается получить доступ к библиотеке динамической компоновки «.DLL» в папке: «C: \ Windows \ System32», то, опять же, подсистема «WoW64» указывает другой путь: «C: \ Windows \ SysWOW64».

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

В чем причина несоответствия «32-разрядная версия» и «System32»

Постараемся рассмотреть этот вопрос более подробно. Как уже было сказано ранее, первоначально появившиеся 32-разрядные приложения и программы были системно запрограммированы на установку в папку «Program Files», и размещение своих динамически подключаемых библиотек «.DLL-файлов» в каталог: «C: \ Windows \ System32». С разработкой более совершенных систем на базе процессоров «х64» данные папки стали применять для новых программ и динамических библиотек «.DLL-файлов» 64-разрядных версий «Windows».

Разработчики операционной системы «Windows» рассудили, что переходить на новые каталоги для файлов подключаемых библиотек не имеет смысла и оставили папку «System32» в качестве стандартного каталога системной библиотеки. Поэтому туда и идет сохранение библиотек динамической компоновки «.DLL» в 64-разрядных версиях «Windows». Но использование 32-разрядных программ достаточно широко, поэтому была разработана подсистема «WoW64», которая благодаря своим инструментам, перенаправляет 32-разрядные файлы подключаемых библиотек «.DLL» в новый каталог «SysWOW64».

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

Автор: Andrey Mareev, Технический писатель

В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановления данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами. Подробнее

Читайте также:  Как сменить курсор мыши для windows 10

Как зарегистрировать DLL библиотеки (x32-64 bit) в Windows 10/7

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

Воспользуемся инструментом Regsvr32 командной строки, который регистрирует и отменяет регистрацию DLL библиотек и ActiveX (OCX) в Windows 10/8.1/7.

Отмена и повторная регистрация DLL библиотеки

Путь к DLL библиотеке можно скопировать, чтобы не писать его вручную в командой строке. Для этого, зажмите левый Shift и нажмите правой кнопкой мыши по DLL фалу, после чего «Копировать как путь«.

Наберите в поиске «Командная строка» и нажмите по ней правой кнопкой мыши, после чего выберите «Запустить от имени администратора» и вводите ниже команды, которые вам необходимы.

Регистрация DLL библиотеки

В командную строку введите следующую команду, чтобы зарегистрировать DLL библиотеку в системе Windows.

Отменить регистрацию файла DLL

Чтобы отменить текущую регистрацию DLL файла, введите ниже команду и нажмите Enter:

Перерегистрировать все файлы dll

Чтобы зарегистрировать все файлы dll в системе Windows, то:

Регистрация 32-битной DLL в 64-битной ОС

Если вы получаете сообщение об ошибке при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии Windows, выполните следующие действия:

  1. Если 32-разрядная DLL находится в папке System32, то переместите ее в папку SysWoW64 и введите ниже команду.

или

Что нужно учесть?

1. В 64-разрядной версии операционной системы Windows существует две версии файла Regsv32.exe:

  • 64-разрядная версия — это %systemroot%\System32\regsvr32.exe
  • 32-разрядная версия — это % systemroot%\ SysWoW64\regsvr32.exe.

2. В 64-разрядной версии Windows, 32-разрядные файлы DLL всегда находятся в папке Windows\SysWOW64. В то время как 64-битные библиотеки DLL находятся в папке Windows\System32. В 32-битной версии Windows, файлы DLL находятся только в папке Windows\System32. Здесь не будет папки SysWOW64.

3. Если вы получаете ошибки, такие как DllRegisterServer, модуль несовместим с версией Windows или точка входа не найдена, то знайте:

  • Не все библиотеки DLL предназначены для регистрации в системе Windows.
  • Если вы скачали библиотеку со стороннего сайта, то она может быть даже и не библиотекой, а скорее всего каким-либо вирусом.
  • Вы регистрируете уже зарегистрированный DLL файл.

Как исправить?

  • Много DLL библиотек, таких как d3dx9_43.dll, MSVCR71.dll, VCRUNTIME140.dll, находятся в сторонних компонентах как DirectX, NET Framework и Visual C++, которые нужно скачать на сайте Microsoft и установить. Вы можете в интернете почитать о самом файле, к чему он относится. Также, можете воспользоваться поиском на этом сайте, так как я много описывал решений о проблемах с DLL файлами.
  • Отмените регистрацию и зарегистрируйте DLL файл повторно.

4. Отключите на время контроль учетных записей ( UAC ) во время регистрации DLL, так как он может мешать процессу.

Оцените статью