Acredito que seria melhor se fosse:
if FileAge(z:\bla.exe'') <> FileAge('c:\bla.exe') Then
 //   atualiza porque é "DIFERENTE!"
Pois vc pode precisar algum dia fazer um DOWNGRADE ao invez de um UPGRADE....


Luiz Escobar - Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/ASSEMBLY/MySQL/xBase
SERVIDORES - CNA IntraNetWare4.11, LINUX-(RedHat9/Suse10.2), Windows 2K/XP


 


From: Darkzad 
Sent: Tuesday, January 08, 2008 12:29 PM
To: delphi-br@yahoogrupos.com.br 
Subject: Re: [delphi-br] Mensagem para o sistema


Sua idéia foi muito simples e boa a do if FileAge('z:\sistema.exe') > 
FileAge('c:\sistema\sistema.exe') then
// mensagem ao usuário com um form Modal avisando para atualizar o
vai me ajudar.

Valeu

sistema...
----- Original Message ----- 
From: Marcos Douglas 
To: delphi-br@yahoogrupos.com.br 
Sent: Tuesday, January 08, 2008 10:20 AM
Subject: Re: [delphi-br] Mensagem para o sistema

Adriano,
Uma forma mais fácil de fazer isso é com um arquivo BAT:
@echo off
xcopy z:\sistema.exe c:\sistema /d /Y
start c:\sistema\sistema.exe
exit

É só criar um atalho para o usuário usar o BAT e não clicar diretamente no
EXE.

Darkzad,
Para enviar uma mensagem ao usuário, é só você comparar os arquivos (do
servidor com o da máquina local) assim:
if FileAge('z:\sistema.exe') > FileAge('c:\sistema\sistema.exe') then
// mensagem ao usuário com um form Modal avisando para atualizar o
sistema...

PS: Considerei o driver Z: como sendo o servidor mapeado.

Abraços
Marcos Douglas

On 1/8/08, Adriano Santos (Yahoo) <[EMAIL PROTECTED]> wrote:
>
> Darkzad,
>
> Posso dar outra sugestão?
> Cara, criei um método de atualização que ficou infalível aqui. Olha só:
> Criei uma tabela no banco chamada ATUALIZACOES conforme abaixo:
>
> CREATE TABLE ATUALIZACOES (
> ID INTEGER NOT NULL,
> NOME VARCHAR(30),
> VERSAO INTEGER,
> ARQUIVO BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL
> );
>
> E os registros na base ficam assim:
>
> FROTA.EXE | 6.150 | ????
> OPERACAO.EXE | 6.149 | ????
> COBRANCA.EXE | 6.127 | ????
>
> Quando o sistema abre ele faz uma select no banco usando o nome do
> módulo (Operacao.exe, Frota.exe, Cobranca.exe). Nada como um
> ExtractFileName não resolva. Feito isso verifico se a versão do sistema,
> prevista em uma variável global, é inferior ou superior a que está no
> banco.
>
> Se for inferior, faço um "download" do arquivo atualizado puxando
> diretamente do banco de dados. Use:
> QueryCAMPO_ARQUIVO.SaveToFile(ExtractFilePath(Application.ExeName));
>
> Se o módulo (na variável global) for superior, então faço o upload para
> o banco usando:
> QueryCAMPO_ARQUIVO.LoadFromFile(ExtractFilePath(Application.ExeName));
>
> Desta forma, basta instalar o executável novo em uma estação e nesta
> mesma estação abrir ao menos uma vez o executável para que ele sozinho
> faça a atualização do banco.
> As demais máquinas serão automaticamente atualizadas assim que reabrirem
> o sistema.
>
> Na ClubeDelphi 84 saiu um artigo sobre isso, foi de lá que peguei a
> idéia. Porém a idéia do autor foi fazer um programinha a parte para
> atualizar o banco. No meu caso já enfiei isso direto no executável de
> produção.
>
> Ah e tem mais: todos os meus clientes usam uma dll. Cada cliente tem a
> sua. Esse esquema tb previ a atualização automática das dlls.
>
> Xuxu beleza
>
> Adriano Santos
> ----------------------------------------------------------
> Editor Técnico Revista ClubeDelphi
> www.delphitodelphi.blogspot.com
> www.devmedia.com.br
> www.devmedia.com.br/clubedelphi/pagina.asp
>
>
>
>
> Darkzad respondeu:
> >
> > Bom dia a Todos
> >
> > Pessoal, estou desenvolvendo um sistema na empresa e sempre ocorre
> > atualizações a fazer e sempre tenho que pedir os usuários para sair do
> > sistema.
> >
> > Gostaria de fazer algo no sistema que enviasse uma mensagem pedindo ao
> > usuário que saia do sistema para atualização.
> >
> > Teria algo possível de resolver isso?
> >
> > Desde já agradeço
> >
> > Darkzad
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> > ----------------------------------------------------------
> >
> > No virus found in this incoming message.
> > Checked by AVG Free Edition.
> > Version: 7.5.516 / Virus Database: 269.17.13/1213 - Release Date:
> 07/01/2008 09:14
> >
>
>
> --
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
>
> Links do Yahoo! Grupos
>
>
>

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]



 

[As partes desta mensagem que não continham texto foram removidas]

Responder a