![]() |
RunAS
Hola a todos, necesito instalar un exe con permisos de administrados, al utilizar runas me funciona todo bien, pero no quiero q me solicite password, este debe ser transparente.
Les agradeciaria me ayudaran |
Cita:
Salu2. |
RunAs
Gracias ixMike por responderme, disculpa creo que no supe explicarme, al instalar el exe con un usuario sin privilegios de Admin me da error de instalacion (crear un directorio en c:/ y grabar en este el exe). No quiero que estos usuarios restringidos sepan el "password de administrador". Por eso es que lo ejecuto con RunAs.
Utilizo este Codigo function TForm1.RunExe2(Cmdline: string): boolean; var Startupinfo : TStartupinfo; Processinfo : TProcessinformation; parametros : String; begin Fillchar(Startupinfo,Sizeof(TStartupinfo),0); with startupinfo do begin cb := sizeof(tstartUPinfo); dwflags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK or STARTF_USESTDHANDLES; WSHOWWINDOW := SW_SHOWNORMAL; end; result := CreateProcess(nil,PChar(cmdLine), nil, nil, true,NORMAL_PRIORITY_CLASS,nil, nil, Startupinfo, Processinfo); if booltostr(result) = '0' then Messagebox(0,pchar(SysErrorMessage(GetLastError)),'Message',MB_ICONERROR); end; procedure TForm1.Button1Click(Sender: TObject); begin RunExe2('"C:\Windows\System32\RunAs.exe" /env /user:Administrator "C:\Facturacion\ProjectFactura.EXE"'); end; En este codigo algo no funciona bien ...... |
PD: no se por que usas STARTF_USESTDHANDLES si no estas definiendo hStdInput, hStdOutput, ó hStdError, y hasta STARTF_USESHOWWINDOW me suena innecesario pues de todas formas estas usando su Default. Usa las etiquetas para poner tu código!!! Saludos |
Al instalar ProjectFactura.EXE en las Pc's, no tengo conocimiento de cual el password del usuario Administrador.
|
Podes incluir una configuración donde se guarde... aunque eso de guardar la contraseña del administrador no es nada sano.
Finalmente... si el programa requiere permisos de administrador para ejecutarse... pues quien lo haga debiera llamar al administrador cada vez... ¿no te parece? Hasta luego. ;) |
Te recomiendo ver la función RunAs que he subido al foro hace tiempo, con esta función no sería necesario utilizar la consola para crear procesos con otro usuario ya que utliza la función CreateProcessAsUser.
Saludos! |
¿con RunAs es necesario ejecutar tu exe a través de un loader o launcher? ¿es posible que una aplicación se ejecute con privilegios de admin con su propio código?
con respecto a que no se vea la pass de admin se podría pasar encriptada ,no? |
Cita:
Código:
if NoEsAdministrador then ;) |
no entiendo ese código.
Yomismo se refiere a un exe o a que? Puedes ser mas claro por favor. |
Por YoMismo quise decir, la propia aplicación...
Para ser mas formales:
¿es lo suficientemente claro ahora? |
Luego debes de crear una aplicación A que ejecute a la aplicación B que es la que queremos que tenga privilegios de admin
. Mi pregunta era si B puede iniciarse a ella misma con un proceso RunAs pero desde su propio código? Código:
Programa B.exe |
Cita:
|
Bueno he hecho pruebas con el RunAs
y me da un error de excepción Code 1314 EOSError Code:_1314. "El cliente no dispone de un privilegio requerido." en una cuenta de administrador en XP SP2 dentro de la función RunAs Código:
procedure TForm6.BitBtn1Click(Sender: TObject); He puesto el user y password en editbox y el dominio como nil (ordenador sin dominio, supongo) Si se deben cambiar privilegios ¿Cuales son? ¿Se puede hacer todo desde Delphi de manera automática? |
La franja horaria es GMT +2. Ahora son las 23:55:33. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi