In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Hacer doble click en un ejecutable / Execute de un ejecutable

Foro de Xailer profesional en español
Responder
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Hacer doble click en un ejecutable / Execute de un ejecutable

Mensaje por jose.luis »

Hola,
Estoy haciendo el instalador de la aplicación de mi empresa. Entre otras
cosas, hay un proceso donde se automatiza la instalación del MSDE (sql
server 2000 gratuito).
Haciendo doble click sobre 'setup.exe' el sistema operativo muestra la
ventana de selección de usuario con derechos administrativos para la
instalación del programa.
Haciendo un Execute del mismo programa, se aborta dando un código de salida
1603 (que tengo que investigar qué es).
Mi pregunta es:
¿Hay alguna manera de obtener el mismo comportamiento del doble click con
Execute o familia?
(Descarto el uso del RUNAS)
Saludos y gracias!
José Luis Capel
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Hacer doble click en un ejecutable / Execute de un ejecutable

Mensaje por jfgimenez »

José Luis,
> Estoy haciendo el instalador de la aplicación de mi empresa. Entre otras
> cosas, hay un proceso donde se automatiza la instalación del MSDE (sql
> server 2000 gratuito).
>
> Haciendo doble click sobre 'setup.exe' el sistema operativo muestra la
> ventana de selección de usuario con derechos administrativos para la
> instalación del programa.
>
> Haciendo un Execute del mismo programa, se aborta dando un código de
> salida 1603 (que tengo que investigar qué es).
>
> Mi pregunta es:
>
> ¿Hay alguna manera de obtener el mismo comportamiento del doble click con
> Execute o familia?
>
> (Descarto el uso del RUNAS)
Supongo que lo que necesitas es ejecutar otro proceso escalando privilegios.
En Xailer no está contemplado, pero puedes usar la función del API
CreateProcess().
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Hacer doble click en un ejecutable / Execute de un ejecutable

Mensaje por jose.luis »

José,
>
> Supongo que lo que necesitas es ejecutar otro proceso escalando
> privilegios.
> En Xailer no está contemplado, pero puedes usar la función del API
> CreateProcess().
>
Gracias. Voy a mirar lo que me dices.
No obstante a lo que yo me quiero referir es a que haciendo doble click en
(por ejemplo) el setup del MSDE me aparece la ventana (ver imagen) donde se
pide un usuario con derechos administrativos mientras que con Execute o
ShellExecute no aparece esa ventana y directamente se sale dando un código
de salida.
¿Alguien puede probarlo?
Saludos y gracias,
José Luis Capel


Attached files
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Hacer doble click en un ejecutable / Execute de un ejecutable

Mensaje por jfgimenez »

José Luis,
> No obstante a lo que yo me quiero referir es a que haciendo doble click en
> (por ejemplo) el setup del MSDE me aparece la ventana (ver imagen) donde
> se pide un usuario con derechos administrativos mientras que con Execute o
> ShellExecute no aparece esa ventana y directamente se sale dando un código
> de salida.
>
> ¿Alguien puede probarlo?
No las he probado, pero echa un vistazo a las funciones
CreateProcessAsUser(), CreateProcessWithLogonW() y CreateProcessWithTokenW()
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
notelo
Mensajes: 54
Registrado: Sab Abr 28, 2007 2:06 pm

Hacer doble click en un ejecutable / Execute de un ejecutable

Mensaje por notelo »

José Luis,
> Haciendo un Execute del mismo programa, se aborta dando un código de salida
> 1603 (que tengo que investigar qué es).
Parece ser que este error ocurre en muchas aplicaciones y se debe a un bug
de Vista o a que el instalador necesita permisos de administración para
continuar. También ocurre si se intenta instalar algo en Archivos de
Programa o en el directorio del sistema sin tener permisos suficientes.
Mira en la web de MS por si hay algún parche.
Saludos,
José Lalí­n
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Hacer doble click en un ejecutable / Execute de un ejecutable

Mensaje por Bingen Ugaldebere »

Es un problema de escalada de privilegios del Vista.
Yo lo he resuelto haciendo que el instalador InnoSetup ejecute las
"otras" aplicaciones por mi y funciona sin problemas.
Salu2.
Bingen Ugaldebere
Mensajes: 1310
Registrado: Mié Sep 26, 2007 7:12 pm

Hacer doble click en un ejecutable / Execute de un ejecutable

Mensaje por Bingen Ugaldebere »

Supongo que por algún motivo querrás tener tu propio instalador pero me
parece que reinventar la rueda no es muy práctico, hay varios
instaladores gratuitos en el mercado y desde luego InnoSetup que llevo
usando 10 años en docenas de programas es simplemente perfecto y
funciona en todos los Windows incluido Vista.
Si necesitas ayuda a tu entera disposición.
jose.luis
Mensajes: 1633
Registrado: Vie Oct 14, 2005 10:56 pm

Hacer doble click en un ejecutable / Execute de un ejecutable

Mensaje por jose.luis »

Bingen,
> Es un problema de escalada de privilegios del Vista.
No estoy usando Vista. Es un XP PRO unido a un dominio 2003.
>
> Yo lo he resuelto haciendo que el instalador InnoSetup ejecute las "otras"
> aplicaciones por mi y funciona sin problemas.
>
Tengo que mirárlo... gracias!
Saludos,
José Luis Capel
Responder