Windows sysnative windows 7 какая папка
Обновлено: 20.11.2025
Каталог %windir%\System32 зарезервирован для 64-разрядных приложений в 64-разрядной версии Windows. Большинство имен DLL-файлов не были изменены при создании 64-разрядных версий DLL, поэтому 32-разрядные версии DLL хранятся в другом каталоге. WOW64 скрывает эту разницу, используя перенаправитель файловой системы.
В большинстве случаев всякий раз, когда 32-разрядное приложение пытается получить доступ к %windir%\System32, %windir%\lastgood\system32 или %windir%\regedit.exe, доступ перенаправляется на путь, зависящий от архитектуры.
Эти пути приведены только для справки. Для совместимости приложения не должны использовать эти пути напрямую. Вместо этого им следует вызывать API, описанные ниже.
| Исходный путь | Перенаправленный путь для 32-разрядных процессов x86 | Перенаправленный путь для 32-разрядных процессов ARM | tr>
|---|---|---|
| %windir%\System32 | %windir%\SysWOW64 | %windir%\SysArm32 | tr>
| %windir%\lastgood\system32 | %windir%\lastgood\SysWOW64 | %windir%\lastgood\SysArm32 |
| %windir%\regedit.exe | %windir%\SysWOW64\regedit.exe | %windir%\ SysArm32\regedit.exe |
Если при доступе система отображает запрос UAC, перенаправление не происходит. Вместо этого запускается 64-битная версия запрошенного файла. Чтобы предотвратить эту проблему, либо укажите каталог SysWOW64, чтобы избежать перенаправления и обеспечить доступ к 32-разрядной версии файла, либо запустите 32-разрядное приложение с правами администратора, чтобы запрос UAC не отображался.
**Windows Server 2003 и Windows XP: ** UAC не поддерживается.
Некоторые подкаталоги не подлежат перенаправлению. Доступ к этим подкаталогам не перенаправляется в %windir%\SysWOW64: %windir%\system32\catroot
%windir%\system32\catroot2
%windir%\system32\driverstore
%windir% \system32\drivers\etc
%windir%\system32\logfiles
%windir%\system32\spool
**Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: **%windir%\system32\driverstore перенаправляется.
Чтобы получить имя 32-разрядного системного каталога, 64-разрядные приложения должны использовать функцию GetSystemWow64Directory2 (Windows 10, версия 1511) или функцию GetSystemWow64Directory.
Приложения должны использовать функцию SHGetKnownFolderPath для определения имени каталога %ProgramFiles%.
Windows Server 2003 и Windows XP: приложения должны использовать функцию SHGetSpecialFolderPath для определения имени каталога %ProgramFiles%.
Приложения могут управлять перенаправителем файловой системы WOW64 с помощью функций Wow64DisableWow64FsRedirection, Wow64EnableWow64FsRedirection и Wow64RevertWow64FsRedirection. Отключение перенаправления файловой системы влияет на все файловые операции, выполняемые вызывающим потоком, поэтому его следует отключать только при необходимости для одного вызова CreateFile и снова включать сразу после возврата функции. Отключение перенаправления файловой системы на более длительный период может помешать 32-разрядным приложениям загружать системные библиотеки DLL, что приведет к сбою приложений.
32-разрядные приложения могут получить доступ к собственному системному каталогу, заменив %windir%\System32 на %windir%\Sysnative. WOW64 распознает Sysnative как специальный псевдоним, используемый для указания того, что файловая система не должна перенаправлять доступ. Этот механизм является гибким и простым в использовании, поэтому рекомендуется использовать его для обхода перенаправления файловой системы. Обратите внимание, что 64-разрядные приложения не могут использовать псевдоним Sysnative, так как это виртуальный каталог, а не реальный.
Windows Server 2003 и Windows XP: псевдоним Sysnative был добавлен, начиная с Windows Vista.
С выпуском 64-разрядной версии Windows 7 в обычное размещение папок в каталоге Windows были внесены небольшие изменения. Две новые папки включены в 64-разрядную версию Windows 10, Windows 8 и Windows 70. Это папки Sysnative и SysWOW64. Это только в 64-битной винде. Если вы запустите 32-битную Windows на 64-битной машине, вы их не увидите. Вы также не увидите их при запуске 32-разрядной версии Windows на 32-разрядной машине.
Вне каталога Windows есть еще одна папка, которая называется Program Files (x86). Мы привыкли к названию папки Program Files, в которой находятся исполняемые файлы наших программ. В 64-битных системах 64-битные программы хранятся в папке Program Files, а 32-битные — в Program Files (x86). Однако Windows использует что-то вроде эмуляции для запуска 32-битных программ на 64-битной машине. И, следовательно, необходимо знать и понимать, что такое системные папки в Windows (64-разрядная версия), чтобы знать, как получить доступ к нужному файлу.
В отличие от 32-разрядных машин, где 32-разрядные библиотеки DLL хранятся в папке System32, 64-разрядная версия Windows хранит библиотеки DLL, относящиеся к 64-разрядным, в папке System32.Это сделано для облегчения задач программирования и обеспечения обратной совместимости. То есть, если 64-битная программа ссылается в своем коде на System32, она автоматически получит 64-битную DLL при вызове. Это помогает разработчикам, поскольку им не нужно изменять код в своих программах для 64-разрядной версии Windows.
Короче говоря, Windows переместила все 32-разрядные библиотеки DLL из папки System32 в каталоге Windows в другую папку, чтобы предыдущие программы не нужно было перекодировать для получения правильных библиотек DLL даже при использовании API — после обновления до 64-разрядной версии. . Проблема возникает, когда 32-разрядное приложение пытается получить доступ к папке System32. В этом случае произойдет сбой программы, поскольку она не предназначена для обработки 64-разрядных библиотек DLL.
Читайте: что такое папка Panther?
Папка SysWOW64 в 64-разрядной версии Windows
Все 32-разрядные библиотеки DLL были перемещены в новую папку SysWOW64 в 64-разрядных версиях Windows 10, Windows 8 и Windows 7, поэтому, когда 32-разрядные программы вызывают 32-разрядные библиотеки DLL, они чтобы добраться до папки SysWOW64.
Вы можете подумать, что разработчикам придется сканировать свои программы и приложения, чтобы указать функции DLL на папку SysWOW64. Но Microsoft уже позаботилась об этом. Если это 32-разрядная программа, вызывающая C:\Windows\System32, эмулятор перенаправит путь к C:\Windows\SysWOW64. То есть для запуска 32-битных программ в 64-битной Windows используется эмулятор, чтобы была надлежащая обратная совместимость и чтобы не было ошибок при вызове DLL-файлов.
Прочитайте: что такое папка FOUND.000?
Папка Sysnative в 64-разрядной версии Windows
В некоторых случаях для 32-разрядной программы или приложения может потребоваться 64-разрядная библиотека DLL. В этом случае вам придется использовать папку перенаправления Sysnative. Вы можете рассматривать SysNative как виртуальную папку и псевдоним, указывающий на папку System32. Его физически не существует в вашей системе как такового.
Поэтому, если вашей 32-разрядной программе требуется доступ к 64-разрядной библиотеке DLL, не используйте C:\Windows\System32, поскольку эмулятор 32-разрядной программы перенесет ее в 32-разрядную Папка DLL с именем SysWOW64. Вместо этого используйте C:\Windows\SysNative в качестве пути к программе DLL. Использование Sysnative в пути перенаправит его в папку System32 вместо папки SysWOW64.
Если вы откроете Проводник Windows, вы не найдете папку Sysnative в C:\Windows. Даже если вы установите параметры папки для отображения скрытых и системных папок. Это связано с тем, что Windows File Explorer является 64-разрядной программой при работе в 64-разрядной версии Windows, а папка Sysnative видна и доступна только из 32-разрядных программ.
- Папки System32 содержат 64-разрядные DLL-файлы.
- SysWOW64 содержит 32-разрядные файлы DLL, и 32-разрядные программы автоматически перенаправляются в эту папку.
- Sysnative – это папка перенаправления, позволяющая 32-разрядным программам вызывать 64-разрядные библиотеки DLL.
Дата: 28 октября 2019 г. Теги: 64-разрядная версия, Папка
Похожие сообщения
Что такое папка WpSystem? Безопасно ли его удалять?
Как восстановить предыдущие окна папки при входе в систему в Windows 11/10
Папка System32 открывается автоматически при запуске в Windows 11/10
сообщить об этом объявлении
Упаковка приложений
Как предприятия развертывают свое программное обеспечение Windows
Экономьте время и деньги,
автоматизируя развертывание программного обеспечения
Экономьте время и деньги за счет
автоматической настройки программного обеспечения
Позвольте вашему программному обеспечению восстановиться
самостоятельно в случае поломки без посторонней помощи
Установка программного обеспечения одним щелчком мыши на
любую машину в вашей сети в любом месте
|
|

