Adriano, A letra "Z" foi apenas como exemplo. Claro que cada um deve adaptar o BAT de acordo com a empresa na qual trabalha, certo? ;-)
Eu já havia falado que é pra colocar um Atalho do BAT no Desktop do usuário. Todos os usuários iriam clicar diretamente no Atalho ao invés de ir procurar o EXE no Windows Explorer... Fazendo dessa forma, não é preciso técnico algum. Abraços mD On 1/8/08, Adriano Santos (Yahoo) <[EMAIL PROTECTED]> wrote: > > Ótimo. > > E se a letra Z: não existir ou foi mapeada com outra letra? > E se o usuário não abrir o BAT, terá que colocar no inicializar do > Windows? > > Se você enviar um técnico ao local beleza, pois ele se encarrega de ir > máquina a máquina checar, mas se tiver clientes em Manaus por exemplo, > fica difícil ter certeza que o usuário fez tudo bonitinho como manda a > figurino. > > Tínhamos BAT e o deploy era problemático. Hoje temos esse esquema. Os > bancos de nossos clientes cresceram 20 mb, porém reduzi o número de > problemas para 10%, pois ainda não temos um esquema para atualização > on-line. > > Estamos montando um programinha bem pequeno que fará o download dos > módulos em uma pasta temporária e em seguida atualiza o banco do > cliente. Esse utilitário funcionará sozinho sem interação com o usuário. > Automaticamente a próxima vez que alguém entrar no sistema o mesmo será > atualizado. 100% de problemas resolvidos. > > Adriano Santos > ------------------------------------------------------------- > Editor Técnico Revista ClubeDelphi > www.delphitodelphi.blogspot.com > www.devmedia.com.br > www.devmedia.com.br/clubedelphi/pagina.asp > > > > > Marcos Douglas respondeu: > > > > 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] > > <mailto:falecom%40adrianosantos.pro.br>> 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] > > > > > > ------------------------------------------------------------------------ > > > > 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]