para - ¿Cómo puedo convertir un VBScript a un archivo ejecutable(EXE)?
vbscript descargar (6)
Aquí hay un par de posibles soluciones ...
No he intentado todo esto todavía, pero lo haré pronto.
Nota: No tengo ninguna conexión personal o financiera con ninguna de estas herramientas.
1) VB Script to EXE Converter (NO compilador): (Gratis)
vbs2exe.com .
El exe producido parece ser un verdadero EXE.
Desde su página web:
VBS a EXE es un convertidor en línea gratuito que no solo convierte sus archivos vbs a exe, sino que también:
1- Cifre el código fuente de su archivo vbs con una clave de 128 bits.
2- Te permite llamar a win32 API
3 - Si tiene problemas con Windows Vista, especialmente cuando UAC está habilitado, entonces puede probar VBS para EXE.
4- Ya no es necesario que wscript.exe ejecute sus vbs.
5- Su script nunca se guarda en el disco duro como otros convertidores. Es un exe VERDADERO no un extractor.
Esta solución debería funcionar incluso si wscript / cscript no está instalado en la computadora.
Básicamente, esto crea un verdadero archivo .EXE. Dentro del .EXE creado hay un "motor" que reemplaza a wscript / cscript, y una copia encriptada de su código de VB Script. Este motor de reemplazo ejecuta su código EN MEMORIA sin llamar a wscript / cscript para hacerlo.
2) Compilar y convertir VBS a EXE ...:
ExeScript
La versión actual es 3.5.
Esta NO es una solución gratuita. Tienen una prueba de 15 días. Después de eso, debe comprar una licencia por un monto considerable de $ 44.96 (Licencia doméstica / no comercial), o $ 89.95 (Licencia comercial / uso comercial).
Parece que funciona de manera similar a la solución anterior.
Según un post del foro allí:
Mensaje: "¿ Un archivo Exe todavía necesita Windows Scripting Host (WSH)? "
WSH no es necesario si se usó la opción "Compilar", ya que ExeScript
implementa su propio host de scripting. ...
3) Cifre la secuencia de comandos con la herramienta de cifrado ".vbs to .vbe" de Microsoft.
Aparentemente, esto no funciona para Windows 7/8, y es posible que haya formas de "descifrar" el archivo .vbe. Al momento de escribir esto, no pude encontrar un enlace de trabajo para descargar esto. Si encuentro uno, lo añadiré a esta respuesta.
Busqué información para convertir un VBScript (*.vbs)
en un ejecutable y me di cuenta de que la mayoría de las herramientas disponibles están envolviendo el script en el ejecutable. Probé algunas herramientas y no funcionó tan bien como se esperaba. Intenté IExpress (en Windows XP) para crear el archivo de cabina de extracción automática Win32 pero no se invocó correctamente en las máquinas con Windows 7.
Así que estoy buscando una manera de compilar los vbs en exe. Estoy intentando trasladar mi script actual a VB Express 2008, pero no tengo conocimiento previo de Visual Basic aquí. Hay muchos errores, pero todavía estoy intentando.
¿Alguien puede por favor consejo sobre cómo debo proceder desde aquí? Quiero decir, ¿sería un archivo autoextraíble el camino a seguir en lugar de un archivo ejecutable independiente ? Pero diga como Winzip No sé cómo hacer que ejecute el script después de la extracción.
¿Algunas ideas?
Puede usar el software VBSedit para convertir su código VBS en un archivo .exe. Puede descargar la versión gratuita de Internet e instalar la aplicación vbsedit en su sistema y convertir los archivos a formato exe.
Vbsedit es una buena aplicación para VBscripter
Puedes hacer esto con PureBasic y MsScriptControl
Todo lo que necesita hacer es pegar MsScriptControl en el editor de Purebasic y agregar algo como esto a continuación.
InitScriptControl()
SCtr_AddCode("MsgBox 1")
Puedes probar VbsEdit. Obtenga la última versión de Adbsoft''s VbsEdit vbsedit.com una pequeña descarga, pero es una herramienta poderosa para crear y editar archivos vbs y convertirlos en ejecutables sin descomprimirlos en una carpeta temporal. (a menos que obtenga una versión anterior como la versión 4.xxx) He estado usando este programa desde 2008, y es gratuito para evaluar, pero viene con un recordatorio para que lo active y cada vez que comience su secuencia de comandos desde la ventana vbsedit tendrá para esperar unos segundos, o puedes comprarlo por $ 60 para eliminar esas molestias menores.
A diferencia de ScriptCryptor , el exe convertido no tendrá ninguna limitación si aún está evaluando, se ejecutará sin ventanas adicionales no deseadas.
Más información
Para encontrar un compilador, tendrá 1 por versión de .net instalada, escriba un símbolo del sistema.
dir c:/Windows/Microsoft.NET/vbc.exe /a/s
Formularios de Windows
Para una versión de Windows Forms (sin ventana de consola y no podemos crear formularios, aunque puede hacerlo si lo desea).
Compilar línea en un símbolo del sistema.
"C:/Windows/Microsoft.NET/Framework/v4.0.30319/vbc.exe" /t:winexe "%userprofile%/desktop/VBS2Exe.vb"
Texto para VBS2EXE.vb
Imports System.Windows.Forms
Partial Class MyForm : Inherits Form
Private Sub InitializeComponent()
End Sub
Public Sub New()
InitializeComponent()
End Sub
Public Shared Sub Main()
Dim sc as object
Dim Scrpt as string
sc = createObject("MSScriptControl.ScriptControl")
Scrpt = "msgbox " & chr(34) & "Hi there I''m a form" & chr(34)
With SC
.Language = "VBScript"
.UseSafeSubset = False
.AllowUI = True
End With
sc.addcode(Scrpt)
End Sub
End Class
El uso de estos parámetros opcionales le da un icono y un manifiesto. Un manifiesto le permite especificar ejecutar como normal, ejecutar elevado si admin, solo ejecutar elevado.
/ win32icon: especifica un archivo de iconos de Win32 (.ico) para los recursos de Win32 predeterminados.
/ win32manifest: El archivo provisto está incrustado en la sección de manifiesto de la salida PE.
En teoría, tengo desactivado el UAC, así que no puedo probar, pero coloque este archivo de texto en el escritorio y llámelo vbs2exe.manifest, guárdelo como UTF-8.
La linea de comando
"C:/Windows/Microsoft.NET/Framework/v4.0.30319/vbc.exe" /t:winexe /win32manifest:"%userprofile%/desktop/VBS2Exe.manifest" "%userprofile%/desktop/VBS2Exe.vb"
El manifiesto
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0"> <assemblyIdentity version="1.0.0.0"
processorArchitecture="*" name="VBS2EXE" type="win32" />
<description>Script to Exe</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security> <requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"
uiAccess="false" /> </requestedPrivileges>
</security> </trustInfo> </assembly>
Esperemos que ahora SOLO se ejecute como administrador.
Dar acceso a los objetos de un host
Aquí hay un ejemplo que da el acceso vbscript a un objeto .NET.
Imports System.Windows.Forms
Partial Class MyForm : Inherits Form
Private Sub InitializeComponent()
End Sub
Public Sub New()
InitializeComponent()
End Sub
Public Shared Sub Main()
Dim sc as object
Dim Scrpt as string
sc = createObject("MSScriptControl.ScriptControl")
Scrpt = "msgbox " & chr(34) & "Hi there I''m a form" & chr(34) & ":msgbox meScript.state"
With SC
.Language = "VBScript"
.UseSafeSubset = False
.AllowUI = True
.addobject("meScript", SC, true)
End With
sc.addcode(Scrpt)
End Sub
End Class
Para incrustar información de la versión
Descargue el archivo vbs2exe.res de https://skydrive.live.com/redir?resid=E2F0CE17A268A4FA!121 y colóquelo en el escritorio.
Descargue ResHacker desde http://www.angusj.com/resourcehacker
Abra el archivo vbs2exe.res en ResHacker. Editar lejos. Haga clic en el botón Compilar. Haga clic en el menú Archivo - Guardar.
Tipo
"C:/Windows/Microsoft.NET/Framework/v4.0.30319/vbc.exe" /t:winexe /win32manifest:"%userprofile%/desktop/VBS2Exe.manifest" /win32resource:"%userprofile%/desktop/VBS2Exe.res" "%userprofile%/desktop/VBS2Exe.vb"
No hay forma de convertir un VBScript (archivo .vbs) en un ejecutable (archivo .exe) porque VBScript no es un lenguaje compilado . El proceso de convertir el código fuente en código ejecutable nativo se denomina "compilation" y no es compatible con lenguajes de script como VBScript.
Ciertamente, puedes agregar tu script a un archivo autoextraíble usando algo como WinZip, pero todo lo que harás es comprimirlo. Es dudoso que el tamaño del archivo se reduzca notablemente, y como se trata de un archivo de texto sin formato, en realidad no es necesario comprimirlo. El único propósito de un archivo autoextraíble es que el software de descompresión (como WinZip) no se requiere en la computadora del usuario final para poder extraer o "descomprimir" el archivo. Si no está comprimido en primer lugar, este es un punto discutible.
Alternativamente, como mencionó, hay formas de envolver los archivos de código VBScript en un archivo ejecutable independiente, pero estos son solo envoltorios que ejecutan automáticamente el script (en su estado actual, sin compilar) cuando el usuario hace doble clic en el archivo .exe. Supongo que eso puede tener sus beneficios, pero no suena como lo que estás buscando.
Para poder convertir realmente su VBScript en un archivo ejecutable, tendrá que volver a escribirlo en otro idioma que pueda compilarse . Visual Basic 6 (la última versión de VB, antes de la introducción de .NET Framework) tiene una sintaxis muy similar a la de VBScript, pero admite la compilación a código nativo. Si mueve el código de VBScript a VB 6, puede compilarlo en un ejecutable nativo. La ejecución del archivo .exe requerirá que el usuario tenga instaladas las bibliotecas de tiempo de ejecución de VB 6 , pero vienen integradas en la mayoría de las versiones de Windows que ahora se encuentran en libertad.
Alternativamente, puede seguir adelante y saltar a Visual Basic .NET , que se mantiene en una sintaxis similar a la de VB 6 y VBScript (aunque no será en ninguna parte cerca de una migración de cortar y pegar). Los programas VB.NET también se compilarán en un archivo .exe, pero requieren que el tiempo de ejecución de .NET Framework esté instalado en la computadora del usuario. Afortunadamente, esto también se ha convertido en algo común, y se puede redistribuir fácilmente si los usuarios no lo tienen. Mencionó la ruta de esta ruta en su pregunta (transfiriendo su script actual a VB Express 2008, que usa VB.NET), pero estaba recibiendo muchos errores. Eso es lo que quiero decir acerca de estar lejos de una migración de cortar y pegar. Existen algunas diferencias enormes entre VB 6 / VBScript y VB.NET, a pesar de algunas similitudes sintácticas superficiales. Si desea ayuda para migrar sobre su VBScript, puede publicar una pregunta aquí en . En última instancia, esta es probablemente la mejor manera de hacer lo que quiere, pero no puedo prometerle que será simple.