У меня есть несколько 32-разрядных программ GNU, которые я хочу добавить в системный путь на моем компьютере с Windows 7-64bit, например Curl.exe, WGet.exe, AutoExNT.exe и т. Д. Я не хочу изменять system Путь к переменной среды, поэтому я хочу разместить их в месте, эквивалентном "system32" в старой 32-битной системе.
Я знаю, что, поскольку это 32-разрядные программы, они не будут работать, если они не находятся в каталоге 32-эмулятора: SysWOW64. Я пробовал, поэтому знаю, что это правда.
Я не понимаю, почему этот каталог не является частью системного пути по умолчанию в Windows7. Безопасно или рекомендуется добавлять SysWOW64 в системную среду по умолчанию (не на уровне пользователя env) ??
Я что-то здесь не замечаю? Есть ли способ запустить командный файл с SysWOW64 по пути, который не требует взлома системного пути?
Установка 64-битной / 32-битной в Windows - это огромная боль. Где вы должны разместить эти файлы, будет зависеть от того, какое приложение пытается их запустить. Если у вас есть 32-битное приложение, которое пытается их запустить, вы должны поместить их в каталог SysWOW64. Если у вас есть 64-битное приложение, пытающееся запустить их, они будут находиться в каталоге System32. Если вы хотите получить доступ к настоящий System32 из 32-битного приложения, вы можете использовать специальный SysNative каталог.
Каталог SysWOW64 содержит все 32-разрядные двоичные файлы, но будет отображаться как каталог System32, если вы запустите 32-разрядный двоичный файл (например, 32-разрядный cmd.exe). В 32-битном двоичном файле вы обычно можете получить доступ только к содержимому этого каталога. Вы не можете получить доступ к фактическому каталогу System32, если вы не используете ОС, поддерживающую каталог Sysnative, или если вы не включили некоторые специальные флаги API.
Чтобы добавить путаницы, каталог System32 (настоящий, который можно увидеть при использовании 64-битных приложений) содержит все 64-битные двоичные файлы.