vbs para ejecutar reg sin que pida confirmacion

Iniciado por Instalador, 17 Enero 2014, 17:14 PM

0 Miembros y 1 Visitante están viendo este tema.

Instalador

Buenos dias:

Estoy tratando de agregar un registro a windows para "hacer funcinal" un programa, sin que me pida confirmacion.

Mediante un bat seria de la siguiente forma:
Código (dos) [Seleccionar]

REGEDIT /S "regme.reg"


Como puedo hacerlo mediante vbs?

Intente de esta forma pero no funciona:

Código (vb) [Seleccionar]
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "regme.reg"


Gracias por su orientacion.




[MOD]: Usa las etiquetas para insertar código.

engel lex

la confirmacion está ahí para una razon XD crea una parada bastante pesada, normalmente tendrias que inyectar otro programa con derecho de administrador para que ese ejecute tu codigo (no conozco otro metodo)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Eleкtro

#2
Tanto en VBS como en Bat, en lugar de ejecutar un archivo, puedes escribir diréctamente las instrucciones necesarias para añadir las claves al registro, ¿Lo has probado?.

Este programa te servirá para traducir el contenido del script de registro a código Batch ~> REG2BAT Autor: EleKtro



Ejemplo:

Código (dos) [Seleccionar]

@Echo OFF
:: Converted with REG2BAT 2.0 By Elektro
   
REM Windows Registry Editor Version 5.00
   
REG ADD "HKEY_CURRENT_USER\Test" /V "Test Binary"    /T "REG_BINARY"    /D "1234567890"         /F
REG ADD "HKEY_CURRENT_USER\Test" /V "Test Dword Dec" /T "REG_DWORD"     /D "0x00bc614e"         /F
REG ADD "HKEY_CURRENT_USER\Test" /V "Test Dword hex" /T "REG_DWORD"     /D "0x12345678"         /F
REG ADD "HKEY_CURRENT_USER\Test" /V "Test Expand SZ" /T "REG_EXPAND_SZ" /D "%%Temp%%\Hello"     /F
REG ADD "HKEY_CURRENT_USER\Test" /V "Test Multi SZ"  /T "REG_MULTI_SZ"  /D "Hello\0world!\0"    /F
REG ADD "HKEY_CURRENT_USER\Test" /V "Test Qword Dec" /T "REG_QWORD"     /D "0x00000000000010e1" /F
REG ADD "HKEY_CURRENT_USER\Test" /V "Test Qword Hex" /T "REG_QWORD"     /D "0x1234567891234567" /F
REG ADD "HKEY_CURRENT_USER\Test" /V "Test String"    /T "REG_SZ"        /D "By Elektro H@cker"  /F


PD: Como puedes ver en el ejemplo, en Batch tienes que usar el comando REG y añadir el parámetro /F para forzarl a sobreescritura de un valor sin requerir confirmación, óbviamente en VBS (o cualquier otro lenguaje de verdad) esto no es algo necesario.

Saludos.








Instalador

#3
engelx:

El motivo por el cual quiero que no pida confirmación, es porque se trata de una instalación desatendida.

Elektro:

Tienes razón, intentare escribir directamente las instrucciones en vbs.
Gracias por el programa Reg a Bat, lo probare.

En cuanto lo tenga listo lo subiré, gracias a los 2 por su atención.

Elektro:

Descargue tu programa pero no me funciona, lo descomprimo y cuando doy doble click en el ejecutable no abre, dentro de la carpeta están 3 archivos CButtonLib.dll Ookii.Dialogs.dll y Reg2Bat.exe

Gracias.

Eleкtro

#4
Cita de: Instalador en 17 Enero 2014, 19:32 PM
Elektro:

Descargue tu programa pero no me funciona, lo descomprimo y cuando doy doble click en el ejecutable no abre, dentro de la carpeta están 3 archivos CButtonLib.dll Ookii.Dialogs.dll y Reg2Bat.exe

¿así sin más, no se abre, sin mostrar siquiera un error?, que extraño.

¿Usas WinXP?, ¿Tienes el Framework 4.0 instalado?

Pruébalo en un Win7/8 con Framework 4.0 instalado, así debería funcionarte sin problemas.

EDITO:
Si quieres postea el script y yo te lo convierto con el programa.

EDITO 2:
Cita de: Instalador en 17 Enero 2014, 19:32 PMEl motivo por el cual quiero que no pida confirmación, es porque se trata de una instalación desatendida.
Si estás usando algún installbuilder (InnoSetup, InstallShield, etc...) lo correcto sería que añadieras los valores del registro desde el lenguaje que utilice el propio installbuilder, así no te pediría confirmación.
Si estás usando algo tipo WinRAR-SFX ...olvídalo xD

Saludos!








Instalador

#5
Cita de: Eleкtro en 17 Enero 2014, 20:07 PM
¿así sin más, no se abre, sin mostrar siquiera un error?, que extraño.

¿Usas WinXP?, ¿Tienes el Framework 4.0 instalado?

Pruébalo en un Win7/8 con Framework 4.0 instalado, así debería funcionarte sin problemas.

EDITO:
Si quieres postea el script y yo te lo convierto con el programa.

EDITO 2:Si estás usando algún installbuilder (InnoSetup, InstallShield, etc...) lo correcto sería que añadieras los valores del registro desde el lenguaje que utilice el propio installbuilder, así no te pediría confirmación.
Si estás usando algo tipo WinRAR-SFX ...olvídalo xD

Saludos!

Elektro:

En relación a tu programa, ya lo descargue 2 veces y me hace lo mismo, uso Win Xp SP3 y si tengo instalado el Framework 4.0

Ya solucione la creación de las entradas del registro, quedaron así:

Código (vb) [Seleccionar]
Set obj_Shell = WScript.CreateObject("WScript.Shell")
obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegCode", "123456789012345678901234567", "REG_SZ"

Set obj_Shell = WScript.CreateObject("WScript.Shell")
obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegistrationURL", "http://www.fspro.net/hide-folders/purchase.html", "REG_SZ"

Set obj_Shell = WScript.CreateObject("WScript.Shell")
obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegName", "Nemo", "REG_SZ"


Agradezco el ofrecimiento de que me conviertas el script, no me lo tomes a mal, pero me gusta intentarlo y si en algo me atoro pues ya te molestare, te repito ya logre hacerlo con vbs.

Gracias por tu ayuda y probare en otra maquina tu programa.

Lo mismo pero eliminando lo innecesario.

Código (vb) [Seleccionar]
Set obj_Shell = WScript.CreateObject("WScript.Shell")
obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegCode", "123456789012345678901234567", "REG_SZ"
obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegistrationURL", "http://www.fspro.net/hide-folders/purchase.html", "REG_SZ"
obj_Shell.RegWrite "HKLM\SOFTWARE\FSPro Labs\Hide Folders 2009\RegName", "Nemo", "REG_SZ"





[MOD]: Utiliza las etiquetas para insertar código, mira la imagen de mi firma (Elektro).