Windows sysnative windows 7 какая папка
Обновлено: 21.11.2024
Каталог %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
Экономьте время и деньги,
автоматизируя развертывание программного обеспечения
Экономьте время и деньги за счет
автоматической настройки программного обеспечения
Позвольте вашему программному обеспечению восстановиться
самостоятельно в случае поломки без посторонней помощи
Установка программного обеспечения одним щелчком мыши на
любую машину в вашей сети в любом месте
|