Re: [delphi-br] Ajuda...Atualização de Software
Éh, a questão do IP fixo, é que aqui a coisa toda acontece dentro da rede interna. Pra Internet realmente o processo será outor. []s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil wchag...@bol.com.br http://delphitocorporerm.blogspot.com/ http://twitter.com/wchagas MSN: whitesock...@hotmail.com SKYPE: WalterChagasJr - Original Message - From: Dirlei Dionísio To: delphi-br@yahoogrupos.com.br Sent: Thursday, February 11, 2010 7:56 PM Subject: Re: [delphi-br] Ajuda...Atualização de Software Obrigado pelo retorno Walter, mais comentários abaixo. Em 10 de fevereiro de 2010 15:36, Walter Chagas (Bol) Como vocês lidam com o caso de a instalação estar mais de uma versão defasada? Exemplo: o cliente está na versão 1.0 e não fez a atualização para 1.1. Quando ele resolve atualizar, a versão mais recente já é 1.2. O nosso caso roda dentro da rede interna. Sempre que o programa é atualizado, somos obrigados a entrar no banco de dados do servidor e trocar a versão. Tem uma tabela específica pra isto. A tabela fica no banco de dados que seu sistema irá interagir. Quando o caboclo lá executa o sistema, a primeira coisa que ele faz é ir na tabela e confrontar sua versão com a versão que tá lá. Caso haja divergencia, ele avisa pro usuario atualizar. Senão, continua executando o programa. Na telemont, temos 4 servidores cada um com um banco diferente dada a quantidade de sistemas que rodam na operacional. Todos estes bancos tem a tabela de controle de versões dos sistemas que irão interagir com estes referidos bancos. Eu acredito que suas atualizações são cumulativas, portanto não seria problema se o cliente está na 1.0 e seu projeto já no 1.5. Pelo menos aqui na Telemont a coisa é assim. As atualizações são cumulativas Então as atualizações de banco de dados são feitas manualmente, certo? No meu caso, as atualizações do banco de dados também são automáticas. Não entendi, por que IP fixo? Se voce trocar o IP do servidor, aonde estão as atualizações, toda hora, como é que se programa de update irá achar o servidor para pegar o arquivo e instalá-lo no cliente? Via DNS. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Ajuda...Atualização de Software
Obrigado pelo retorno Walter, mais comentários abaixo. Em 10 de fevereiro de 2010 15:36, Walter Chagas (Bol) Como vocês lidam com o caso de a instalação estar mais de uma versão defasada? Exemplo: o cliente está na versão 1.0 e não fez a atualização para 1.1. Quando ele resolve atualizar, a versão mais recente já é 1.2. O nosso caso roda dentro da rede interna. Sempre que o programa é atualizado, somos obrigados a entrar no banco de dados do servidor e trocar a versão. Tem uma tabela específica pra isto. A tabela fica no banco de dados que seu sistema irá interagir. Quando o caboclo lá executa o sistema, a primeira coisa que ele faz é ir na tabela e confrontar sua versão com a versão que tá lá. Caso haja divergencia, ele avisa pro usuario atualizar. Senão, continua executando o programa. Na telemont, temos 4 servidores cada um com um banco diferente dada a quantidade de sistemas que rodam na operacional. Todos estes bancos tem a tabela de controle de versões dos sistemas que irão interagir com estes referidos bancos. Eu acredito que suas atualizações são cumulativas, portanto não seria problema se o cliente está na 1.0 e seu projeto já no 1.5. Pelo menos aqui na Telemont a coisa é assim. As atualizações são cumulativas Então as atualizações de banco de dados são feitas manualmente, certo? No meu caso, as atualizações do banco de dados também são automáticas. Não entendi, por que IP fixo? Se voce trocar o IP do servidor, aonde estão as atualizações, toda hora, como é que se programa de update irá achar o servidor para pegar o arquivo e instalá-lo no cliente? Via DNS. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Ajuda...Atualização de Software
Aqui na telemont temos um sistema de atualização automatica também. Porém com algumas diferenças: 1) Feito em VB 2) Ele nao guarda o update no banco e sim numa pasta em um servidor de arquivos. 3) Guardamos no banco o número da ultima versão que deve estar rodando nas estações. 4) Ao ser executado na estação, o sistema consulta o banco se a versão dele é a mesma que está na tabela. Caso contrario, ele chama um programinha de atualização automática para baixar o update do servidor. Quando ele chama este aplicativo, ele já se auto finaliza. Este programinha baixa o update e já o executa automaticamente. Pela WEB é possível que isto funcione também porém, o servidor aonde as atualizações vão ficar, deverá ter IP fixo.. []s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil wchag...@bol.com.br http://delphitocorporerm.blogspot.com/ http://twitter.com/wchagas MSN: whitesock...@hotmail.com SKYPE: WalterChagasJr - Original Message - From: Dirlei To: delphi-br@yahoogrupos.com.br Sent: Tuesday, February 09, 2010 8:25 AM Subject: Re: [delphi-br] Ajuda...Atualização de Software Vou explicar como funciona o sistema de atualização automática que projetei e desenvolvi aqui onde trabalho. Não pretendo que criar um manual de como fazer, mas creio que dê pra explicar resumidamente como funciona e inspirar aqueles que pretendem fazer algo parecido. Há uma base MySQL na internet com os Updates de cada produto (nossos softwares). Cada Update, atualiza um conjunto de versões. Exemplo: o update ProgramaX 1.5 atualiza as versões do Programa X 1.3 e 1.4. Os updates são setups gerados com o NSIS (poderia ser outro gerador de instalações, mas escolhemos esse). Cada setupt de update leva apenas as atualizações necessárias, não a instalação inteira. Isso pode incluir o EXE do programa, DLL's, arquivos de relatório etc. Um detalhe importante é a atualização do banco de dados. Aqui trabalhamos com databases versionados. Ex: a primeira versão liberada tem o database 1.0. À cada alteração no database, incrementamos a versão (1.1, 1.2 ou 2.0 se a alteração for expressiva). Aqui criamos uma linguagem para contemplar os scripts de atualização e os upgrades de versão (XML + SQL + criptografia). Chamamos essa linguagem de DBML (Databse Maintenance Language). Um arquivo DBML contêm o script para realizar cada salto de versão. Ex: da versão 1.0 para 1.1 foi criado um índice; da versão 1.1 para 1.2 foi criada uma nova tabela e assim por diante. O setup de atualização carrega consigo um arquivo DBML (sempre que tiver acontecido uma alteração de database) com os saltos de versão (de database) contemplados pela atualização. Ex: se a atualização faz update da versão (de database) 1.0 e 1.1, o DBML conterá apenas esses saltos de versão. Agora a parte da atualização automática: Foi criado um serviço PHP que consulta a base MySql (citada no início) e informa se há atualização disponível para uma determinada versão. Nossos sistemas carregam consigo um componente que chamei de SelfUpdate (Atualização de si mesmo). Esse componente, 1 vez por dia, dispara o serviço PHP que diz se há atualização para a versão do produto em execução. Se houver atualização, o PHP devolve a URL para download e o componente faz download do setup de atualização. Isso acontece numa outra thread, então o sistema continua podendo ser operado. No fim do download, o usuário é avisado que na próxima execução, o programa será atualizado. Na próxima execução, se não houver nenhum outro usuário utilizando o programa, é executado o setup de atualização, que atualiza os arquivos do programa e o banco de dados, se necessário. É assim que fazemos. Funciona há alguns anos com cerca de 2 mil usuários. Qualquer dúvida, postem aqui que posso tentar ajudar na medida do possível. Um abraço, Dirlei. snakesjb escreveu: Tenho um sistema feito em Delphi 2007 e banco de dados firebird...Como o sistema ja fooi instalado em alguns clientes e o mesmo ainda está em fase de testes, MAS EM USO, quase toda semana tenho que atualizar o executável...alguem tem alguma idéia??? Tava pensando em colocar o sistema em um ftp e criar um sistema para download apresentando os arquivos para download...Alguem tem algum exemplo para me ajudar??? [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Ajuda...Atualização de Software
Como vocês lidam com o caso de a instalação estar mais de uma versão defasada? Exemplo: o cliente está na versão 1.0 e não fez a atualização para 1.1. Quando ele resolve atualizar, a versão mais recente já é 1.2. O nosso caso roda dentro da rede interna. Sempre que o programa é atualizado, somos obrigados a entrar no banco de dados do servidor e trocar a versão. Tem uma tabela específica pra isto. A tabela fica no banco de dados que seu sistema irá interagir. Quando o caboclo lá executa o sistema, a primeira coisa que ele faz é ir na tabela e confrontar sua versão com a versão que tá lá. Caso haja divergencia, ele avisa pro usuario atualizar. Senão, continua executando o programa. Na telemont, temos 4 servidores cada um com um banco diferente dada a quantidade de sistemas que rodam na operacional. Todos estes bancos tem a tabela de controle de versões dos sistemas que irão interagir com estes referidos bancos. Eu acredito que suas atualizações são cumulativas, portanto não seria problema se o cliente está na 1.0 e seu projeto já no 1.5. Pelo menos aqui na Telemont a coisa é assim. As atualizações são cumulativas Não entendi, por que IP fixo? Se voce trocar o IP do servidor, aonde estão as atualizações, toda hora, como é que se programa de update irá achar o servidor para pegar o arquivo e instalá-lo no cliente? []s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil wchag...@bol.com.br http://delphitocorporerm.blogspot.com/ http://twitter.com/wchagas MSN: whitesock...@hotmail.com SKYPE: WalterChagasJr - Original Message - From: Dirlei To: delphi-br@yahoogrupos.com.br Sent: Wednesday, February 10, 2010 8:32 AM Subject: Re: [delphi-br] Ajuda...Atualização de Software É interessante saber como funcionam outras soluções Walter! Fiz alguns comentários/perguntas abaixo. Walter Chagas (Bol) escreveu: Aqui na telemont temos um sistema de atualização automatica também. Porém com algumas diferenças: 1) Feito em VB 2) Ele nao guarda o update no banco e sim numa pasta em um servidor de arquivos. O meu também não. No banco fica apenas a URL para o setup de atualização (compactado com LZMA para burlar proxies que bloqueiam download de EXE) 3) Guardamos no banco o número da ultima versão que deve estar rodando nas estações 4) Ao ser executado na estação, o sistema consulta o banco se a versão dele é a mesma que está na tabela. Caso contrario, ele chama um programinha de atualização automática para baixar o update do servidor. Quando ele chama este aplicativo, ele já se auto finaliza. Este programinha baixa o update e já o executa automaticamente. Como vocês lidam com o caso de a instalação estar mais de uma versão defasada? Exemplo: o cliente está na versão 1.0 e não fez a atualização para 1.1. Quando ele resolve atualizar, a versão mais recente já é 1.2. Pela WEB é possível que isto funcione também porém, o servidor aonde as atualizações vão ficar, deverá ter IP fixo.. Não entendi, por que IP fixo? []s Walter Alves Chagas Junior Belo Horizonte - MG - Brazil mailto:wchagasj%40bol.com.br [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Ajuda...Atualização de Software
Eu uso ftp para baixar o executavel do sistema e para o banco eu utilizo arquivo texto mesmo com os scripts e executo na base de cada um que baixar os novos arquivos. 2010/2/8 Domingos domingosp...@gmail.com Estou com a mesma dúvida, para o executável eu uso FTP, mas e para o banco? Você usa o Database Comparer do IBExpert? Em 8 de fevereiro de 2010 16:13, snakesjb robsontazina...@hotmail.com escreveu: Tenho um sistema feito em Delphi 2007 e banco de dados firebird...Como o sistema ja fooi instalado em alguns clientes e o mesmo ainda está em fase de testes, MAS EM USO, quase toda semana tenho que atualizar o executável...alguem tem alguma idéia??? Tava pensando em colocar o sistema em um ftp e criar um sistema para download apresentando os arquivos para download...Alguem tem algum exemplo para me ajudar??? -- Domingos José Martins de Souza [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM -- Atenciosamente, Samuel M. Basso Cel: (54) 8135-3723 Skype: samuelbasso E-mail/MSN: samuelba...@gmail.com Web site: www.samuelbasso.com [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Ajuda...Atualização de Software
Tenho um sistema feito em Delphi 2007 e banco de dados firebird...Como o sistema ja fooi instalado em alguns clientes e o mesmo ainda está em fase de testes, MAS EM USO, quase toda semana tenho que atualizar o executável...alguem tem alguma idéia??? Tava pensando em colocar o sistema em um ftp e criar um sistema para download apresentando os arquivos para download...Alguem tem algum exemplo para me ajudar???
Re: [delphi-br] Ajuda...Atualização de Software
Eu fiz um executavel a parte que quando executado ele verifica no site onde hospedo as atualizacoes se existe atualizacao mais recente e consequentemente ele baixa a atualização. Junto com a atualizacao eu tenho os scripts que ele executa para atualizar a base de dados, porem tenho um problema que ainda nao resolvi no scripts, quando tento criar foreign key nunca da certo, sempre da erro que tal campo esta em uso e nao consegue prosseguir, mesmo ninguem executando o sistema ele da esse erro so consigo executar reininciando o serviço do firebird que ate entao nao tive ideias. mas é assim que faço atualizacoes. 2010/2/8 snakesjb robsontazina...@hotmail.com Tenho um sistema feito em Delphi 2007 e banco de dados firebird...Como o sistema ja fooi instalado em alguns clientes e o mesmo ainda está em fase de testes, MAS EM USO, quase toda semana tenho que atualizar o executável...alguem tem alguma idéia??? Tava pensando em colocar o sistema em um ftp e criar um sistema para download apresentando os arquivos para download...Alguem tem algum exemplo para me ajudar??? -- Atenciosamente, Samuel M. Basso Cel: (54) 8135-3723 Skype: samuelbasso E-mail/MSN: samuelba...@gmail.com Web site: www.samuelbasso.com [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Ajuda...Atualização de Software
Estou com a mesma dúvida, para o executável eu uso FTP, mas e para o banco? Você usa o Database Comparer do IBExpert? Em 8 de fevereiro de 2010 16:13, snakesjb robsontazina...@hotmail.comescreveu: Tenho um sistema feito em Delphi 2007 e banco de dados firebird...Como o sistema ja fooi instalado em alguns clientes e o mesmo ainda está em fase de testes, MAS EM USO, quase toda semana tenho que atualizar o executável...alguem tem alguma idéia??? Tava pensando em colocar o sistema em um ftp e criar um sistema para download apresentando os arquivos para download...Alguem tem algum exemplo para me ajudar??? -- Domingos José Martins de Souza [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Ajuda...Atualização de Software
Samuel, boa noite Cara gostei muito da sua idéia, poderia explicar melhor? O usuário executa esse sistema para ver se existe atualização? Esse seu executável acessa um serviço de FTP pra baixar o arquivo? Como você faz atualização do executável? Ou ele baixa outro arquivo? e a parte de atualização do banco de dados, você faz como o database comparer? Obrigado, []'s Em 8 de fevereiro de 2010 23:00, Samuel M. Basso samuelba...@yahoo.com.brescreveu: Eu fiz um executavel a parte que quando executado ele verifica no site onde hospedo as atualizacoes se existe atualizacao mais recente e consequentemente ele baixa a atualização. Junto com a atualizacao eu tenho os scripts que ele executa para atualizar a base de dados, porem tenho um problema que ainda nao resolvi no scripts, quando tento criar foreign key nunca da certo, sempre da erro que tal campo esta em uso e nao consegue prosseguir, mesmo ninguem executando o sistema ele da esse erro so consigo executar reininciando o serviço do firebird que ate entao nao tive ideias. mas é assim que faço atualizacoes. 2010/2/8 snakesjb robsontazina...@hotmail.com Tenho um sistema feito em Delphi 2007 e banco de dados firebird...Como o sistema ja fooi instalado em alguns clientes e o mesmo ainda está em fase de testes, MAS EM USO, quase toda semana tenho que atualizar o executável...alguem tem alguma idéia??? Tava pensando em colocar o sistema em um ftp e criar um sistema para download apresentando os arquivos para download...Alguem tem algum exemplo para me ajudar??? -- Atenciosamente, Samuel M. Basso Cel: (54) 8135-3723 Skype: samuelbasso E-mail/MSN: samuelba...@gmail.com Web site: www.samuelbasso.com [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM -- Domingos José Martins de Souza [As partes desta mensagem que não continham texto foram removidas]