Как мне прочитать 64-битные значения реестра из VBScript, работающего как задача msi после установки?

Мне нужно прочитать расположение папки Temporary ASP.NET Files из VBScript как часть задачи после установки в программе установки, созданной с помощью проекта развертывания Visual Studio 2008.

Я думал, что сделаю что-то вроде этого:

Set oShell = CreateObject("Wscript.Shell")
strPath = oShell.RegRead("HKLM\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0\Path")

а затем объединить strPath с "\ Временные файлы ASP.NET " и покончим с этим.

Однако в системе 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-разрядного сценария?

Ответы на вопрос(4)

Ваш ответ на вопрос