Как запустить скрипт Vb, который работает в 64-битном режиме из VBScript, работающего под Wow64 - PullRequest
1 голос
/ 05 ноября 2010

У меня есть скрипт VB, который принудительно запускается в режиме Wow64.Я бы хотел, чтобы он запускал либо другой скрипт, либо сам, в собственном 64-битном режиме.Есть ли способ сделать это?

Первоначальный сценарий вызывается явным вызовом cscript.exe (не уверен, если это имеет значение)

Ответы [ 2 ]

2 голосов
/ 06 ноября 2010

Очевидно, это довольно просто.

В Windows Vista и новее есть папка псевдонима в C: \ Windows \ Sysnative. Если вы вызываете его, он не будет перенаправлять в 32-битную папку c: \ windows \ SysWow64, но заставит собственные 64-битные исполняемые файлы называться

http://msdn.microsoft.com/en-us/library/aa384187(VS.85).aspx

Следовательно, вы можете запустить vbscript в 64-битном режиме из vbscript, запущенного в режиме wow64, вызвав% windir% \ Sysnative \ cscript.exe и затем указав имя вашего скрипта в качестве параметра.

Однако это работает только в Windows Vista или новее. Существует исправление, которое может включить эту папку Sysnative в Windows XP / 2003

http://support.microsoft.com/kb/942589

1 голос
/ 20 января 2012

Поместите следующий код в верхнюю часть вашего скрипта, чтобы определить, является ли ОС 64-битной, затем перезапустите в 32-битном режиме

...