Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-12-2007
Minio Minio is offline
Miembro
 
Registrado: jul 2007
Ubicación: Elche (Alicante) ESPAÑA
Posts: 65
Poder: 17
Minio Va por buen camino
Actualizar mi programa

Saludos!!

Quisiera que me ayudéis, por que quiero ver la forma de actualizar mis programas cuando hago algún cambio, para hacer el archivo de instalación he utilizado InstallShield, ahora quisiera realizar un ejecutable que me actualice la instalación anterior pero no se como, he leído otros hilos pero no lo veo claro. Además no se como crear el desinstalador al instalar mi programa.

Gracias....
Responder Con Cita
  #2  
Antiguo 17-12-2007
lgarcia lgarcia is offline
Miembro
 
Registrado: jul 2004
Posts: 479
Poder: 20
lgarcia Va por buen camino
Actualizar programa

Hola:

Con relacion a la actualizacion de un programa lo que hago es un pequeno ejecutable que realiza la comparacion de la fecha de modificacion tanto del programa que esta en la maquina de los usuarios con la del servidor o PC donde esta la ultima version y si es mas nueva la remplazo, eso si el usuario tiene que tener privilegios para poder sobrescribir porque si el programa esta en Archivos de programa y es un usuario limitado no podra hacerlo.
y ese ejecutable al final llama al verdadero programa.

aqui te envio un codigo que puede te sirva:

Código:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Label1: TLabel;
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
var
  fecha1, fecha2: Double;
function GetFileDate(TheFileName: string): Double;
var
 FHandle: integer;
begin
 FHandle := FileOpen(TheFileName, 0);
 try
   Result := Int(FileDateToDateTime(FileGetDate(FHandle)));
 finally
   FileClose(FHandle);
 end;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  ShortDateFormat:= 'MM/dd/yyyy';
  fecha1:= GetFileDate('C:\Archivos de programa\Programa\pepe.exe');
  WinExec(PChar('net use G: \\Servidor password/user:administrador'),SW_HIDE);
  fecha2:= GetFileDate('G:\\sadvalcajero.exe');
  if fecha2 > fecha1 then
  CopyFile(Pchar('\\192.168.10.16\temp\pepe.exe'), Pchar('C:\Archivos de programa\Programa\pepe.exe'), False);
  WinExec(PChar('net use G: /delete'),SW_HIDE);
  Close;
  //
  WinExec(PChar('C:\Archivos de programa\Programa\pepe.exe'),SW_SHOWNORMAL);
end;
end.
Saludos

Luis Garcia
Responder Con Cita
  #3  
Antiguo 17-12-2007
fide fide is offline
Miembro
 
Registrado: oct 2006
Posts: 331
Poder: 18
fide Va por buen camino
Lightbulb Actualizar programa!

Hola. Tambien seria razonable hacerlo via web. Si tienes esta posivilidad, solo necesitas un programa para descargar el exe que tienes en la www y reemplazarlo. Si necesitas ayuda con esto, me dices para ayudarte un poco...
Responder Con Cita
  #4  
Antiguo 17-12-2007
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Nunca lo he usado, pero, ¿InstallShield no reemplazaría los archivos antiguos por los nuevos (y los demás los dejaría tal cual)?

En todo caso, si usas bases de datos y en la actualización cambias de tipo de base de datos (por ejemplo, de paradox a interbase [es un ejemplo, no me juzgueis ]), pues ahí tendrías que hacer un programita que te pasara los datos antiguos a la nueva base de datos. Y lo mismo con todos los archivos en que guardes datos y les hallas cambiado la estructura.


Saludos.
Responder Con Cita
  #5  
Antiguo 17-12-2007
Minio Minio is offline
Miembro
 
Registrado: jul 2007
Ubicación: Elche (Alicante) ESPAÑA
Posts: 65
Poder: 17
Minio Va por buen camino
InstalShield me detecta la instalación anterior y me dice que antes de nada desinstale la aplicación y empiece de nuevo y lo que quisiera es que me diera la oportunidad de reparar, modificar o eliminar.

Como me decís, con el tema de la base de datos llevare cuidado por que no quiero chafarla, me gustaria que si hago algún cambio en cualquier tabla me respete su contenido sin machacarlo.

Pero sobre todo lo que principalmente me interesa es hacer un ejecutable que automáticamente sustituya el .exe para actualizar la aplicación

bueno sigo con ello... gracias a todos me estáis despejando mucho el camino
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar mi programa por red Nbull Varios 26 03-02-2011 19:23:52
Actualizar componentes de un programa XaRz .NET 2 14-09-2006 17:22:28
Actualizar programa turminator Internet 1 15-05-2006 01:49:34
Actualizar los puestos de un programa instalado en el servidor VRO Conexión con bases de datos 3 19-07-2005 20:53:16
actualizar mi programa nicocer SQL 1 27-10-2003 12:16:47


La franja horaria es GMT +2. Ahora son las 05:46:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi