Wie lese ich die 64-bit-Registry-Werte von VBScript ausgeführt als eine msi-task nach der installation?

Muss ich Lesen, den Speicherort des Temporären ASP.NET Dateien Ordner von VBScript als Teil einer post-installation tasks in einen installer erstellt mit Visual Studio 2008 deployment-Projekt.

Ich dachte, ich würde etwas wie das hier tun:

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

und dann verketten strPath mit "\Temporary ASP.NET Dateien" und mit ihm getan werden.

Auf ein x64-system, jedoch bekomme ich den Wert aus dem WOW6432Node - (HKLM\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\2.0.50727.0), die gibt mir die 32-bit-framework-Pfad (C:\Windows\Microsoft.NET\Framework\v2.0.50727), aber auf einem x64 system, eigentlich will ich die 64-bit-Pfad, d.h. C:\Windows\Microsoft.NET\Framework64\v2.0.50727.

Ich verstehe, dass dies geschieht, weil die .vbs-Datei ausgeführt wird, mithilfe der 32-bit-Scripting-host durch den übergeordneten Prozess (der installer), die 32-bit selbst.

Wie kann ich das Skript mit der 64-bit-Scripting-host - oder - wie kann ich Lesen Sie die 64-bit-Werte, selbst wenn das Skript ausgeführt wird, mithilfe der 32-bit-Scripting-host?

InformationsquelleAutor Joergen Bech | 2009-08-04
Schreibe einen Kommentar