Comment puis-je lire les 64 bits du Registre des valeurs à partir de VBScript running comme une msi après son installation?

J'ai besoin de lire l'emplacement de la Temporaire ASP.NET dossier de Fichiers à partir de VBScript dans le cadre d'un post-tâche d'installation dans un programme d'installation créé à l'aide de Visual Studio 2008 projet de déploiement.

J'ai pensé que je ferais quelque chose comme ceci:

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

et puis concaténer strPath avec "\Temporary ASP.NET les Fichiers" et être fait avec elle.

Sur un système x64, cependant, j'obtiens la valeur de la WOW6432Node (HKLM\SOFTWARE\Wow6432Node\Microsoft\ASP.NET\2.0.50727.0), qui me donne la version 32 bits de cadre (chemin C:\Windows\Microsoft.NET\Framework\v2.0.50727), mais sur un système x64, je veux en fait le chemin d'accès 64 bits, c'est à dire C:\Windows\Microsoft.NET\Framework64\v2.0.50727.

Je comprends que cela arrive à cause de la .vbs fichier est exécuté en utilisant les 32 bits de l'hôte de script en raison du processus parent (l'installateur) 32-bits.

Comment puis-je exécuter le script à l'aide de la version 64 bits de l'hôte de script - ou - comment puis-je lire les valeurs de 64 bits, même si le script est exécuté à l'aide de la 32 bits de l'hôte de script?

OriginalL'auteur Joergen Bech | 2009-08-04