Jak odczytać 64-bitowe wartości rejestru z VBScript działającego jako zadanie poinstalacyjne msi?

Muszę odczytać lokalizację folderu Temporary ASP.NET Files z VBScript w ramach zadania poinstalacyjnego w instalatorze utworzonym przy użyciu projektu wdrożeniowego Visual Studio 2008.

Myślałem, że zrobię coś takiego:

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

a następnie połącz strPath z „Tymczasowymi plikami ASP.NET” i skończ z nim.

Jednak w systemie x64 otrzymuję wartość z WOW6432Node (HKLM SOFTWARE Wow6432Node Microsoft ASP.NET 2.0.50727.0), która daje mi 32-bitową ścieżkę szkieletową (C: Windows Microsoft). NET Framework 2.0.50727), ale w systemie x64 chcę mieć ścieżkę 64-bitową, tj. C: Windows Microsoft.NET Framework64 v2.0.50727.

Rozumiem, że dzieje się tak, ponieważ plik .vbs jest uruchamiany przy użyciu 32-bitowego hosta skryptów, ponieważ proces nadrzędny (instalator) jest sam w sobie 32-bitowy.

Jak uruchomić skrypt przy użyciu 64-bitowego hosta skryptów - lub - jak mogę odczytać wartości 64-bitowe, nawet jeśli skrypt jest uruchamiany przy użyciu 32-bitowego hosta skryptów?

questionAnswers(4)

yourAnswerToTheQuestion