Como ejecutar un exe con privilegios de administrador?

2,005 views
Skip to first unread message

ZeRoberto

unread,
Dec 20, 2016, 2:55:44 PM12/20/16
to publicesvfoxpro
Quiero ejecutar desde el vfp un exe pero con privilegios de
administrador, para poder hacer algunas configuraciones

Saludos

Euro Nava

unread,
Dec 20, 2016, 3:09:12 PM12/20/16
to publice...@googlegroups.com
Puedes crear un scrip utilizando el comando RUN AS


Saludos



El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de ZeRoberto
Enviado el: martes, 20 de diciembre de 2016 03:56 p.m.
Para: publicesvfoxpro
Asunto: [vfp] Como ejecutar un exe con privilegios de administrador?

Quiero ejecutar desde el vfp un exe pero con privilegios de administrador, para poder hacer algunas configuraciones

Saludos
-----
Se certificó que el correo no contiene virus.
Comprobada por AVG - www.avg.com
Versión: 2016.0.7924 / Base de datos de virus: 4739/13620 - Fecha de la versión: 20/12/2016

ZeRoberto

unread,
Dec 20, 2016, 3:16:12 PM12/20/16
to publicesvfoxpro
Hola Euro Nava algun ejemplo?

Euro Nava

unread,
Dec 20, 2016, 3:44:15 PM12/20/16
to publice...@googlegroups.com

Crea un archivo .bat que contenga la siguiente línea:

 

runas /user:nombre del usuario con cuenta de administrador@nombre del dominio o del grupo de trabajo /savecred "ruta y nombre de tu ejecutable fox"

 

al ejecutar el .BAT por primera vez te solicitara la contraseña del administrador, una vez introducida para la ejecuciones subsecuentes no la solicitara

 

 

Saludos

 

 

 

El presente correo y sus anexos son exclusivamente para el uso de los destinatarios indicados en el encabezado del mismo, pueden contener información confidencial y/o privilegiada. Si usted por error ha recibido la presente correspondencia agradezco hacer omisión de esta y hacerme del conocimiento por esta misma vía    

 

Bendito el Hombre que ha sido llamado por Cristo para ser el soldado del ejército en cuya mano empuñe como arma la palabra de Dios

 

 

-----Mensaje original-----
De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de ZeRoberto

Enviado el: martes, 20 de diciembre de 2016 04:16 p.m.
Para: publicesvfoxpro
Asunto: Re: [vfp] Como ejecutar un exe con privilegios de administrador?

José Enrique Llopis

unread,
Dec 20, 2016, 4:00:59 PM12/20/16
to publice...@googlegroups.com
Lo puedes hacer creando un archivo MANIFEST

Es un archivo que se llama igual que tu ejecutable mas .manifest por
ejemplo miejecutable.exe.manifest

En este fichero declaras la seguridad requerida y el UAC (el sistema de
gestión de seguridad de Windows: User Account Control) lo gestionará.

Te paso un ejemplo del que tengo definido para mi magnífico programa de
inmobiliarias (no iba a decir otra cosa, por supuesto)


<?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"
type="win32"
name="Microsoft.VisualFoxPro"
processorArchitecture="x86"
/>
<description>Visual FoxPro</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
language="*"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
/>
</dependentAssembly>
</dependency>
</assembly>


Hay programas que te generan automáticamente este archivo, son gratis y de
libre descarga, si pierdes un rato en Google verás que hay más de uno.

Un saludo,

José Enrique Llopis



-----Mensaje original-----
De: publice...@googlegroups.com
[mailto:publice...@googlegroups.com] En nombre de ZeRoberto
Enviado el: martes, 20 de diciembre de 2016 20:56
Para: publicesvfoxpro
Asunto: [vfp] Como ejecutar un exe con privilegios de administrador?

ZeRoberto

unread,
Dec 20, 2016, 5:16:36 PM12/20/16
to publicesvfoxpro
Hola amigo José dime este manifiest funciona para todos los windows? o
hay que crear para cada una de ellas, el archivo manifiest lo puedo
adjuntar dentro de mi ejecutable? o siempre tiene que estar fuera.

Saludos

El 20 de diciembre de 2016, 16:00, José Enrique Llopis
<fut...@lobocom.es> escribió:

ZeRoberto

unread,
Dec 20, 2016, 5:24:01 PM12/20/16
to publicesvfoxpro
Lo probe pero al parecer no hace efecto porque cuando ejecuto esta funcion me devuelve que no es administrador


Function IsWinUserAdmin
Local llResult
    Declare Integer IsUserAnAdmin In shell32
    llResult = IsUserAnAdmin() <> 0
    Clear Dlls "IsUserAnAdmin"
Return (llResult)

Euro J. Nava L.

unread,
Dec 20, 2016, 5:30:07 PM12/20/16
to publice...@googlegroups.com

Prueba con la función runas, es sencilla y funciona “al menos para mí sirvió cuando lo utilice”

 

Saludos

 

 

 

De: publice...@googlegroups.com [mailto:publice...@googlegroups.com] En nombre de ZeRoberto


Enviado el: martes, 20 de diciembre de 2016 07:24 p.m.
Para: publicesvfoxpro

> De: publice...@googlegroups.com
> [mailto:publice...@googlegroups.com] En nombre de ZeRoberto

ZeRoberto

unread,
Dec 20, 2016, 8:27:01 PM12/20/16
to publicesvfoxpro
Euro si funciona lo tuyo, lo que no me funciona es la rutina de Jose Llopis

ZeRoberto

unread,
Dec 21, 2016, 12:02:56 AM12/21/16
to publicesvfoxpro
Jose Llopis, ya logre hacerlo funcionar pero tuve que cambiar asInvoker por requireAdministrator pero ahora cada vez que entro al sistema me muestra esta ventana con este texto "Desea permitir que este programa de un editor desconocido realice cambios en tu pc?", hay alguna forma de desactivar esta ventana desde el archivo manifest?

José Enrique Llopis

unread,
Dec 21, 2016, 2:37:09 AM12/21/16
to publice...@googlegroups.com

Perdona que no te contestara antes,  esto del cambio horario ya sabes.

 

Hay un artículo magnífico sobre el tema en el blog de Calvin Hsia, puedes verlo aquí: 

 

https://blogs.msdn.microsoft.com/calvin_hsia/2007/04/13/add-a-manifest-to-control-your-application-vista-uac-behavior/

 

Lo único es que está en inglés.

 

Cuando tratas de elevar los permisos de un programa el UAC te mostrará ese mensaje, en Vista losacaba cada dos por tres, era un verdadero martirio, en ocho y diez recuerda lo que le dijiste, si le das permiso una vez probablemente no te lo pida más.

 

Un abrazo,

José Enrique Llopis

 

 

 


Fernando D. Bozzo

unread,
Dec 21, 2016, 3:29:28 AM12/21/16
to Comunidad de Visual Foxpro en Español
Hola ZeRoberto:

El diálogo de confirmación que te aparece es por el UAC (User Account Control), y no te conviene desactivarlo (que es la única forma de que no muestre el mensaje), salvo que lo vayas a ejecutar en un entorno controlado.

Justamente ese diálogo es una de las barreras que evitan que un malware o virus se ejecute automáticamente como admin.

Para desactivarlo, con buscar "uac" en el botón Inicio de Windows, lo vas a encontrar.

Saludos.-

> De: publice...@googlegroups.com
> [mailto:publice...@googlegroups.com] En nombre de ZeRoberto

ZeRoberto

unread,
Dec 21, 2016, 5:25:40 AM12/21/16
to publicesvfoxpro
Hola Fernando gracias por contestar, bueno segun lo que cuentas no queda otra mas desactivar en la UAC, la otra forma que queria hacer es que si es la primera vez y no fue ejecutado como administrador, desde la misma aplicacion ejecutar nuevamente el exe pero esta vez como administrador que haga los cambios y luego cerrar. Pero cuando me sale la ventana de la UAC el usuario un poco que se asusta y cree que esta haciendo algo malo.

Saludos

José Enrique Llopis

unread,
Dec 21, 2016, 7:48:07 AM12/21/16
to publice...@googlegroups.com

Ojo con eso, como dice Fernando es muy, muy peligroso pues puede ejecutarse automáticamente cualquier cochinada de esas que recibimos todos en los correos y no tendrías ninguna defensa.

 

Yo solo lo haría en PC’s que no estuvieran conectados a Internet y aún así puede pasar, recuerdo un cajero automático que tenía un troyano que no veas… y te garantizo que los cajeros no están conectados a Internet, como mínimo están en conectados a través de un túnel.

 

Un saludo,

José Enrique Llopis

 

 

Fernando D. Bozzo

unread,
Dec 21, 2016, 8:56:14 AM12/21/16
to publice...@googlegroups.com
Si por ejecutar como administrador el usuario se asusta, no está del todo mal, ya que puede infectar todo el sistema si lo hace sin conciencia.

Lo veo peligroso lo de desactivar el UAC solo para evitarle sustos al usuario, creo que es más barato educarlo.

Saludos.-

Douglas Sánchez

unread,
Dec 21, 2016, 12:51:15 PM12/21/16
to publice...@googlegroups.com
Desactivar la UAC, no te conviene en estos dias el usuario siempre abre correo sin visualizar correo.falso,  (Dominio raro) y ahi esta el problema lueguito....

Slds

ZeRoberto

unread,
Dec 22, 2016, 1:48:20 AM12/22/16
to publicesvfoxpro
Un detalle que encontre con el Modo Administrador es que cuando quiero hacer un simple Copy File me sale este error


Esto no sucede cuando esta sin ese privilegio

Pero porque pasa esto? acaso el nivel de administrador tiene acceso a todo?

Saludos

HernanCano

unread,
Dec 22, 2016, 2:18:19 AM12/22/16
to Comunidad de Visual Foxpro en Español
Ze Roberto: pues la idea es precisamente esa: que un usuario "normal" (que no es admor), no pueda ejecutar ciertas "cosas" restringidas.

Fernando D. Bozzo

unread,
Dec 22, 2016, 3:27:35 AM12/22/16
to Comunidad de Visual Foxpro en Español
Hola:

Un detalle que a veces se escapa es que no es lo mismo acceder a un recurso (sobre todo mapeado) como usuario que como administrador.

Para comprobarlo, abri una terminal DOS como administrador y fijate si ves el recurso Z: y si podés crear archivos desde DOS

Si el usuario administrador es distinto del usuario normal, entonces puede que no tenga los permisos en la unidad destino, ya que ser administrador "local" no implica ser administrador del recurso "remoto" (lo que tengas en Z: en este caso)

ZeRoberto

unread,
Dec 22, 2016, 5:05:48 AM12/22/16
to publicesvfoxpro
Fernando pero la prueba lo hice con mi propia PC comparti una carpeta y luego lo conecte como Z: osea es el mismo usuario que creo y compartio no deberia haber problemas.

Saludos

larue...@yahoo.com

unread,
Dec 22, 2016, 5:25:24 AM12/22/16
to publice...@googlegroups.com

--------------------------------------------
On Thu, 12/22/16, ZeRoberto <zero...@gmail.com> wrote:

Subject: Re: [vfp] Como ejecutar un exe con privilegios de administrador?
To: "publicesvfoxpro" <publice...@googlegroups.com>
Date: Thursday, December 22, 2016, 12:05 PM
> [mailto:publice...@googlegroup s.com] En nombre de
ZeRoberto
> Enviado el: martes, 20
de diciembre de 2016 20:56
> Para:
publicesvfoxpro
> Asunto: [vfp] Como
ejecutar un exe con privilegios de administrador?
>
> Quiero ejecutar desde
el vfp un exe pero con privilegios de
>
administrador, para poder hacer algunas configuraciones
>
> Saludos













ADUNAREA NAtIONALa A TUTUROR ROMaNILOR DIN TRANSILVANIA BANAT SI FARA UNGUREASCa adunati prin reprezentantii lor indreptatiti la Alba-lulia in 1 DECEMBRIE 1918 DECRETEAZa UNIREA ACELOR ROMaNI SI A TUTUROR TERITORIILOR LOCUITE DE 5aNsII CU ROMaNIA Adunarea Nationala proclama indeosebi dreptul inalienabil al natiunii omane la intreg Banatul cuprins intre raurile Mures Tisa si Dunare

Fernando D. Bozzo

unread,
Dec 22, 2016, 7:08:31 AM12/22/16
to publice...@googlegroups.com
ZeRoberto, si el usuario administrador es el mismo que el usuario normal, entonces sí que no se entiende lo que puede estar pasando. 
Lo que te comenté es porque hay empresas que no permiten que un usuario pueda ser usado como admin, y habilitan un segundo usuario que solo es admin, por lo que una persona, por ejemplo, entra con usuario normal como "miuser", pero para tareas específicas que requieren admin, ejecuta con otro usuario "miadmin", pero supongo que ese no es tu caso, por lo que comentas. 

ZeRoberto

unread,
Dec 22, 2016, 2:15:03 PM12/22/16
to publicesvfoxpro
Fernando lo mas curioso de todo esto es que puse los privilegios como asInvoker pero aun me sigue dando los problemas al copiar los archivo, finalmente decidi quitar el archivo MANIFEST pero ahora no me esta funcionando la funcion guardar registro:

**
Procedure RegCreateKey
Parameters tcFolder, tcValue, tcType
Local loHandler
    Try
        tcType = Iif(VarType(tcType) == "C", tcType, "REG_SZ")
        loHandler = CreateObject("WScript.Shell")
        loHandler.RegWrite(tcFolder, tcValue, tcType)
    Catch When .T.
    Endtry
    Release loHandler
    loHandler = .Null.
Return

ZeRoberto

unread,
Dec 22, 2016, 2:26:12 PM12/22/16
to publicesvfoxpro
Ahora me sale este mensaje, problema que antes no tenia


Fernando D. Bozzo

unread,
Dec 22, 2016, 2:30:01 PM12/22/16
to publice...@googlegroups.com
Hola:

Ese último error te sale casi seguro porque la clave HKLM (HKey Local Machine) no suele tener permisos de escritura para los usuarios, porque los afecta a todos.

Para los usuarios suele usarse para escribir la que comienza por HKLU (HKey Local User)

Pero volviendo sobre lo que te comenté antes: ¿Probaste abrir una ventana de comandos DOS como admin y acceder a Z:? Porque si con VFP no pudiste escribir un archivo, de esa forma tampoco deberías poder escribir un archivo allí.



ZeRoberto

unread,
Dec 22, 2016, 2:33:38 PM12/22/16
to publicesvfoxpro
Si, incluso pude crear un directorio

Fernando D. Bozzo

unread,
Dec 22, 2016, 2:50:29 PM12/22/16
to publice...@googlegroups.com
Eso sí es inexplicable, si desde DOS como admin podés crear un archivo y desde VFP con el mismo admin no podés, la cosa se complica...

¿Desde VFP cómo creás el archivo?


ZeRoberto

unread,
Dec 22, 2016, 4:28:57 PM12/22/16
to publicesvfoxpro
En VFP lo creo haciendo un Copy File a esa carpeta

HernanCano

unread,
Dec 24, 2016, 6:51:02 PM12/24/16
to Comunidad de Visual Foxpro en Español
Permítanme un momento.

Fernando:
Desde los tiempo de WinXP se me presenta un casocomo el que se comenta: en el computador en el que estamos tratando sólo hay un usuario que normalmente en el mismo admin pero con el nombre cambiado al usuario "duaño" del computador. pero aclaro que es el usurio admin.

Cuando se desea realizar determinadas tareas (las que consideramos "restringidas" al admin, es decir que los "técnicos" sabemos que sólo las debe ejecuta el admin), siempre fallan por los permisos.

Te cuento cómo lo he resuelto:

Cuando en mi app VFP necesito ejecutar determinadas "acciones como admor" --- por ejm instalar una fuente o "instalar" una DLL por ejm para crear .ZIPs que en la app debo usar como CreateObject--- siempre pasa que tales operaciones dentro de la app fallan y evidentemente es por los persmisos.

Entonces lo que hago es:

1. Ejecutar la app como administrador (ver imagen adjunta). Esto sólo lo hago una vez, la primera digamos.

2. Como las operaciones "restringidas" sólo las ejecuto al inicio de la app, entonces luego de loguearme exitosamente a la app, simplementa vuelvo a salir.

3. Entonces ejecuto nuevamente la app pero ahora no como administrador, sino con doble click desde el Explorador de Windows, o sea normalmente. Y ahora la aplicación funcionará como normalmente se hace, pues tengo código que verifique que las operaciones restringidas no se ejecuten, ya que no es necesario (pues cuando se ejecutan las fuentes de letras o las DLLs quedan bien "instaladas").

Si en el punto 1 no ejecuto como administrador, entonces cuando vaya a ejecutar las operaciones "restringidas", estas fallarán por los motivos expuestos. Y ésto pasará hasta que "corrija" de acuerdo a las instrucciones del punto 1.
RunAsAdmin.png

Martín González

unread,
Jul 14, 2017, 10:55:31 AM7/14/17
to Comunidad de Visual Foxpro en Español
Hola, se que es tarde para responder, pero por si alguien más encuentra este hilo dejo la  solución que encontré. Aunque es rústica, descubrí que  si al nombre del ejecutable, se le antepone la palagra "setup" o "update", windows pide la autorización del admin. Yo quería poder registrar OCX en system32, y lo logré haciendo un .exe con el nombre "setupocx.exe". Sé que es una solución rustica, pero es muy simple. Saludos.

Martín González

unread,
Jul 14, 2017, 10:58:45 AM7/14/17
to Comunidad de Visual Foxpro en Español
PD: todo lo anterior funciona en W7

Jean Pierre Adonis De La Cruz Garcia

unread,
Jul 14, 2017, 12:23:50 PM7/14/17
to Comunidad de Visual Foxpro en Español

Luis Leon

unread,
Jul 14, 2017, 1:19:59 PM7/14/17
to publice...@googlegroups.com

DECLARE INTEGER IsUserAnAdmin IN shell32

DECLARE INTEGER ShellExecute IN Shell32 INTEGER, STRING, STRING, STRING, STRING, INTEGER


If IsUserAnAdmin() = 1

   wait Windows 'es administrador'

Else

   wait Windows 'no se ejecuto como admiistrador'

Endi



Espero esto te sirva

att


Luis Leon


De: publice...@googlegroups.com <publice...@googlegroups.com> en nombre de Martín González <tinch...@gmail.com>
Enviado: viernes, 14 de julio de 2017 09:58:45 a.m.
Para: Comunidad de Visual Foxpro en Español
Asunto: [vfp] Re: Como ejecutar un exe con privilegios de administrador?
 

Jean Pierre Adonis De La Cruz Garcia

unread,
Jul 14, 2017, 1:25:07 PM7/14/17
to Comunidad de Visual Foxpro en Español, leon-...@hotmail.com
Luis ese proceso solo indica si estas en modo administrador o no, es muy distitno a la consulta que hizo.
Reply all
Reply to author
Forward
0 new messages