Ejecutando un vbs Sub desde C #

¿Es posible ejecutar un sub sub en un archivo vbs desde la aplicación ac #?

He analizado la creación de un proceso y luego el lanzamiento, pero no puedo encontrar una manera de especificar qué sub en particular debe ejecutarse en el archivo de script. ¿Hay una manera de especificar esto o hay una mejor manera de hacerlo?

Un vbs podría parecerse a la muestra de abajo. Lo que quiero es del código C # para iniciar ya sea test1 o test2.

Public Sub test1 msgbox "Hey1" End Sub Public Sub test2 msgbox "Hey2" End Sub 

Al usar Visual Basic (sin .Net), usé el Control de Script para esto.

Esta página contiene alguna documentación sobre cómo llamarlo desde un buen VB antiguo.

La syntax se ve algo como esto:

  Result = ScriptControl.Run("Name", arg1, arg2, ... argn) 

Editar (después de leer el comentario): si no necesita el VBScript para ejecutarse en su contexto (si no comparte objetos), puede crear una pequeña aplicación que ejecute el script fuera de proceso. Su aplicación principal es de 64 bits, la aplicación auxiliar es de 32 bits. Todavía puedes pasar parámetros simples.

Utiliza el componente COM de Windows Script Control y llama a su método Run . Aquí hay un enlace útil con ejemplos de código .