PDA

Ver la Versión Completa : Actualización de programa por usuario sin derecho


lgarcia
25-11-2004, 20:56:47
Tengo una aplicación que me actualiza un ejecutable que esta en un servidor en la estacion de trabajo pero el problema es que el usuario que la corre no tiene derecho a copiar. Como es posible resolver esto.

Saludos
Luis Garcia

fredo
25-11-2004, 21:49:05
¿Windows 2000, NT, XP... donde se aloja el programa?

lgarcia
26-11-2004, 16:04:10
El programa se aloja en WIndows XP y el usuario utiliza una cuenta limitada y no existe dominio.

Saludos
Luis Garcia

fredo
26-11-2004, 18:36:27
primero debes darle permisos a tus usuarios para que puedan acceder al origen del programa, con un permiso de lectura en el origen bastara, luego es un simple copy, paste, si el usuario esta usando el sistema, no podras actualizarlo.... ¿es ese tu caso? :confused: , sin da mas detalles para poder ayudarte.

lgarcia
26-11-2004, 22:34:02
Gracias fredo:

En el Foro hace 2 dias salio una noticia acerca de actualizacion de programas y me intereso el tema ya que es aplicable a mi problema y lo resolvi de la siguiente forma:

procedure TFormAutentificacion.ButtonAceptarClick(Sender: TObject);
var fecha1, fecha2: Double;
begin
fecha1:= GetFileDateTime('\\servidor\sadval$\sadvalcajero.exe');
fecha2:= GetFileDateTime('c:\Archivos de programa\sadval\sadvalcajero.exe');

if fecha1 > fecha2 then
if not CopyFile(PChar('\\servidor\sadval$\sadvalcajero.exe'),
PChar('c:\Archivos de programa\sadval\sadvalcajero.exe'),FALSE) then
MessageDlg('No he podido copiar el fichero', mtWarning, [mbOk], 0);
WinExec(PChar('sadvalcajero.exe'),SW_SHOWNORMAL);
end;

Trabajando en XP con un usuario con cuenta administrativa trabaja excelentemente pero el caso es que el usuario en cuestion tiene una cuenta limitada por lo que no puede sobreescribir el fichero y me da un error. Como la PC no esta en dominio no me deja darle derecho de escritura. Por lo que quisiera saber si existe en las API algo que me pueda facilitar esa operacion.

Saludos
Luis Garcia