Disculpa por la siguiente corrección que voy a hacerte Okik, de verdad no lo hago a mala fe como si estuviese molestado por lo que he comentado arriba ni nada parecido, solo que considero que esto que voy a decir puede servir de ayuda para que un programador pueda aprender a diferenciar correctamente lo que está haciendo y así esa persona pueda hablar con la propiedad de la palabra en el futuro:
Ese bloque de código que has proporcionado no es VBScript, es VB.NET, ya que para elaborar el código estás usando el lenguaje VB.NET, estás compilando bajo .NET Framework, y estás corriendo código .NET administrado, excepto por que estás creando una instancia de un objeto COM, "WScript.Shell" (código no administrado), pero esto no convierte ese bloque de código en algo que se le pueda llamar VBS, más que nada por que ese código en VBS no lo puedes compilar, ni tampoco estás hibridando el código .NET con VBS, sino que simplemente estás usando un objeto COM que estamos acostumbrados a ver y utilizar en VBS, pero nada más, y esto es una diferencia muy importante.
Sea como fuere es una forma de correr VBS en NET y compatible con Option Strict ON. No se cual es el problema, ni a que viene la corrección, si es que eso es una corrección. Claro, convierto una sentencia VBScript en un objeto ¿y qué? ¿Cual es el problema? ¿qué hay que corregir?
Ya expliqué que de forma clásica, es decir como en VB6 no era compatible con Optin Sctrict ON y que encontré la forma de hacerlo de otra manera ¿Cuál es el problema?
Es una forma de correr esto:
Código
Option Strict Off ... Set WSH = CreateObject("Wscript.Shell") x = WSH.RegWrite("HKEY_LOCAL_MACHINE\Software\Prueba\", "Dato", "REG_SZ")
WshShell Object
chau