Мне нужно прочитать расположение папки временных файлов ASP.NET из VBScript как часть задачи после установки в программе установки, созданной с помощью проекта развертывания Visual Studio 2008.
Я думал, что сделаю что-то вроде этого:
Set oShell = CreateObject("Wscript.Shell")
strPath = oShell.RegRead("HKLM\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0\Path")
, а затем объединить strPath с "\ Temporary ASP.NET Files" и покончить с этим.
В системе x64, однако, я получаю значение из WOW6432Node (HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ ASP.NET \ 2.0.50727.0), который дает мне 32-битный путь к каркасу (C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727), но в системе x64 мне действительно нужен 64-битный путь, например C: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727.
Я понимаю, что это происходит потому, что файл .vbs запускается с использованием 32-разрядного хоста сценария, поскольку родительский процесс (установщик) сам является 32-разрядным.
Как запустить сценарий с использованием 64-разрядного узла сценария или - как я могу прочитать 64-разрядные значения, даже если сценарий выполняется с использованием узла 32-разрядного сценария?