O código a seguir verificará se o sistema é 64Bit e, neste caso, fecha o script e reexecuta-o, forçando o Host de 64Bit chamando-o diretamente com o script como parâmetro.
If fso.FileExists("C:\Windows\SysWOW64\wscript.exe") Then
If InStr(1, WScript.FullName, "SysWOW64", vbTextCompare) <> 0 Then ' = very basic 64bit check replace if you want a more sophisticated one
newFullName = Replace(WScript.FullName, "SysWOW64", "Sysnative", 1, -1, vbTextCompare) ' System32 will be replaced by Sysnative. calls to sysnative bypass WoW64 emulation, cscript or wscript stays the same as they were
newArguments = "" ' all arguments are given to the new script call
For Each arg In WScript.Arguments
newArguments = newArguments & arg & " "
Next
wso.Run newFullName & " """ & WScript.ScriptFullName & """ " & newArguments, , False
WScript.Quit ' Close 32Bit scripting host
End If
End If
Esta solução garante que o script seja executado em 64Bit, independentemente de quem o chamar. Se você tem uma situação onde você pode controlar a chamada (por exemplo, o script só é chamado através de um link específico) você provavelmente pode usar apenas o princípio básico (que é o sistema de arquivos inteligente redirecionador ) diretamente em seu atalho.