WOW64 - запуск PowerShell из Visual Studio - PullRequest
1 голос
/ 29 июня 2011

Может кто-нибудь объяснить, почему просто необходимо пройти через такое количество циклов, чтобы запустить PowerShell (как внешнюю команду) из Visual Studio? Я знаю, что это связано с битовыми различиями, но не понимаю почему. Контекстом является 64-разрядная ОС Windows 7, 32-разрядная Visual Studio и 32-разрядная PowerShell из папки System32, если я правильно помню. 64-битная ОС может без проблем запускать оба 32/64 приложения, так в чем же проблема и почему?

По поиску в интернете я считаю, что это как-то связано с WOW64, отсюда и тэг, но я не совсем уверен. Я знаю, что ОС эмулирует старое 32-битное программное обеспечение, но я не понимаю, почему VS не может запустить команду для запуска powershell, не пройдя через обручи, такие как добавление папки «... Native ...» (в соответствии с нашему инструктору на самом деле не существует) к пути.

Надеюсь, это не смущает.

1 Ответ

5 голосов
/ 29 июня 2011

Visual Studio - это 32-разрядный процесс, 64-разрядная версия отсутствует.Когда вы попросите его запустить что-то из c: \ windows \ system32, Windows перенаправит запрос в c: \ windows \ syswow64.Оболочка всех 32-битных исполняемых файлов Windows.

Вместо этого используется% windir% \ sysnative, который перенаправляется на c: \ windows \ system32.

Перенаправитель файловой системы:1005 * описано здесь .

...