Te da error porque en VBS no se puede declarar el tipo de variable (Dim As...), manéjate solo con "Dim" y "Set".
El código quedaría como tal y como te lo puse:
Citar
Código
KeyName = "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\" ValName = "Mi aplicacion" ValData = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%APPDATA%") & "\Carpeta\Aplicacion.exe" CreateObject("WScript.Shell").RegWrite KeyName & ValName, ValData
Obviamente hay que modificar los valores necesarios... y bueno, si quieres añadirle comentarios a esas lineas o modificarlas un poco eso ya es cosa tuya.
En el último código que has posteado, que es una mezcla de tu code original y del mio, esto está mal:
Citar
Código
Set oReg = CreateObject("Wscript.Shell") ValData = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%APPDATA%") & "\Carpeta\Aplicacion.exe"
Código:
ValData = oReg.ExpandEnvironmentStrings(...)
Aparte de la primera línea:
Citar
Código
Dim oReg As Object
EDITO2: y esta otra, que se me ha pasado de largo:
Citar
Código
Dim strRuta As String