Почему SysWOW64 указывается как System32?

Я тестирую службу Windows. Служебный код не работает, когда он пытается удалить файл только для чтения, который я создал в %windir%\SysWOW64, но регистрируется исключение:

Доступ к пути "C:\Windows\system32\CanvasImages\62230.jpg" запрещен.

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

1 ответ

Решение

Это немного сбивает с толку, но SysWOW64 на самом деле является 32-битным эмулятором для 64-битных систем.

WOW означает "Windows on Windows", а оригинальный SysWOW был 16-битным эмулятором для 32-битной Windows (и должен был называться SysWOW32). Так что SysWOW64 - это 32-битный эмулятор для 64-битной Windows.

Поэтому, когда вы запускаете 32-битные приложения, он использует SysWOW64 для эмуляции 32-битного реестра и 32-битного перенаправления (например, в Program Files (x86)).

Другие вопросы по тегам