У меня есть пакетный файл, который (по соображениям совместимости) работает в 32-разрядном cmd.exe
процессе. Однако теперь мне нужно запустить 64-битную версию инструмента командной строки Windows, в данном случае msiexec
. Как я могу это сделать?Как запустить 64-разрядную версию утилиты Windows (например, msiexec) в 32-разрядном пакетном сценарии?
Дополнительная деталь:
Я использую пакетный файл для установки различных программных продуктов. Для максимальной совместимости со старыми продуктами командный файл работает как 32-разрядный процесс. Однако теперь мне нужно установить Intel Haxm, для которого требуется 64-разрядная версия msiexec
.
Я уже пробовал позвонить c:\windows\system32\msiexec.exe
, но при этом файл журнала установщика Windows, по-прежнему говорит:
=== Verbose logging started: 14.04.2015 14:27:53 Build type: SHIP UNICODE 5.00.9600.00 Calling process: c:\windows\SysWOW64\msiexec.exe ===
В Vista + он доступен как '% SystemRoot% \ Sysnative \ msiexec.exe'. – eryksun
@eryksun - скорее '% SystemRoot% \ System32 \ msiexec.exe' – npocmaka
@npocmaka, скорее нет. Узнайте о [Редиректор файловой системы] (https://msdn.microsoft.com/en-us/library/aa384187) для процессов WOW64. – eryksun