Почему 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)).