Re: [delphi-br] Atualizador automatico
Estou interessado tb. [EMAIL PROTECTED] - Original Message - From: Auriston Lopes To: delphi-br@yahoogrupos.com.br Sent: Tuesday, February 26, 2008 4:08 PM Subject: Re: [delphi-br] Atualizador automatico se pude mandar para mim tambem. ok Josinaldo <[EMAIL PROTECTED]> escreveu: tu podes mim arrumar esses codigos fontes tbm pra testar aqui amigo? desde ja agradeço!!! - Original Message - From: r.marchiori To: delphi-br Sent: Friday, February 22, 2008 9:17 AM Subject: Re: [delphi-br] Atualizador automatico Olá pessoal, uma dica tb é criar um executavel alem do executavel do sistema e este novo só fica para dazer a atualização, este executavel menor para realizar a atualização verifica o numero da verão armazenado em uma tabela no banco de dados e compara com o numero do arquivo ini, se for diferente carrega o executavel do servidorvia (ftp) e apos isso atualiza um arquivo ini que esta na pasta local de cada estação e se a versão não for diferente não atualiza e chama o executavel do sistema. Assim não carrega toda hora o executavel do sistema. Se alguem quise o código fonte é só pedir. Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED]> escreveu: > > > E por que vc discorda? > > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL PROTECTED] <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED] <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com Rodrigo Alex Marchiori http://r.marchiori.sites.uol.com.br msn: [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 2903 (20080226) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
se pude mandar para mim tambem. ok Josinaldo <[EMAIL PROTECTED]> escreveu: tu podes mim arrumar esses codigos fontes tbm pra testar aqui amigo? desde ja agradeço!!! - Original Message - From: r.marchiori To: delphi-br Sent: Friday, February 22, 2008 9:17 AM Subject: Re: [delphi-br] Atualizador automatico Olá pessoal, uma dica tb é criar um executavel alem do executavel do sistema e este novo só fica para dazer a atualização, este executavel menor para realizar a atualização verifica o numero da verão armazenado em uma tabela no banco de dados e compara com o numero do arquivo ini, se for diferente carrega o executavel do servidorvia (ftp) e apos isso atualiza um arquivo ini que esta na pasta local de cada estação e se a versão não for diferente não atualiza e chama o executavel do sistema. Assim não carrega toda hora o executavel do sistema. Se alguem quise o código fonte é só pedir. Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED]> escreveu: > > > E por que vc discorda? > > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de > Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL PROTECTED] > <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED] > > <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com Rodrigo Alex Marchiori http://r.marchiori.sites.uol.com.br msn: [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
tu podes mim arrumar esses codigos fontes tbm pra testar aqui amigo? desde ja agradeço!!! - Original Message - From: r.marchiori To: delphi-br Sent: Friday, February 22, 2008 9:17 AM Subject: Re: [delphi-br] Atualizador automatico Olá pessoal, uma dica tb é criar um executavel alem do executavel do sistema e este novo só fica para dazer a atualização, este executavel menor para realizar a atualização verifica o numero da verão armazenado em uma tabela no banco de dados e compara com o numero do arquivo ini, se for diferente carrega o executavel do servidorvia (ftp) e apos isso atualiza um arquivo ini que esta na pasta local de cada estação e se a versão não for diferente não atualiza e chama o executavel do sistema. Assim não carrega toda hora o executavel do sistema. Se alguem quise o código fonte é só pedir. Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED]> escreveu: > > > E por que vc discorda? > > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL PROTECTED] <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED] <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com Rodrigo Alex Marchiori http://r.marchiori.sites.uol.com.br msn: [EMAIL PROTECTED] [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] Atualizador automatico
E o seguinte... criei um sistema de atualizacao automatico usando o componte ClientSocket e ServerSocket (delphi 6) q faz o seguinte... no servidor onde esta a atualizacao crie arquivos compactados com a data de criacao de cada um deles ex: controle10102007.bck controle11102007.bck controle12102007.bck qdo os clientes conecta no servidor de atualizacao (o cliente tem um sistema de atualizacao separado do programa atual do usuario) o sistema cliente passa a informacao de data de criacao do executavel, ai o servidor procura uma data superior ao informado e faz o download do mesmo... o arquivo qdo chega no cliente ele e descompactado gerando 2 arquivos, um e o executavel outro um arquivo Texto com as informacoes de alteracoes em Sql (uso o interbase) esse aquivo traz as atualizacoes em sql pra ser alterados no banco de dados,o arquivo e lido e a alteracao e feita no banco de dados e o executavel e substituido por outro, essas informacoes sao registrados em um arquivo INI (arquivo de configuracao). se vc quizer um exemplo me passa um email para [EMAIL PROTECTED] te passo um exemplo caso vc nao tenha Carlos <[EMAIL PROTECTED]> escreveu: Ta... entendo Mas como faço isso? Alguem tem algum exemplo prático? obrigado Consultores Software <[EMAIL PROTECTED]> escreveu: Pelo menos nas empresas onde trabalhei, essa solução de manter um só exe no servidor funciona muito bem. O único problema é fazer com que os usuários ( cerca de 50, em média) fechem o aplicativo no momento da atualização, o que pode ser contornado se as atualizações puderem ser feitas em horários em que o sistema não é utilizado. Agora, se não tiver jeito mesmo, melhor comparar as versões dos arquivos exe ( servidor e local ) e fazer a cópia, caso necessário. Em 22/02/08, Guionardo Furlan <[EMAIL PROTECTED]> escreveu: > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL > PROTECTED]> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um > executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via > rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma > vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor > seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED]> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada > maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são > várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei > por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > > -- > Timeo hominem unius libri > Cogito ergo sum - Carpe diem > > []s > Guionardo Furlan > http://guionardo.blogspot.com > > [As partes desta mensagem que não continham texto foram removidas] - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas] - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
esta é mesmo a melhor solução , em um software que tenho eu mando ele buscar em uma página a ultima versão do sistema !!! mais buscar em um servidor na rede é excelente ! From: Guionardo Furlan Sent: Friday, February 22, 2008 8:05 AM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Atualizador automatico Será mesmo uma boa idéia? Discordo. Eu deixaria uma versão do executável no servidor, com um arquivo texto indicando a versão. Nos clientes, um aplicativo inicializador compararia a versão do executável local com a versão do executável remoto. Em caso de diferença, copiará do servidor. Por último, o aplicativo inicializador chama o executável localmente. Em 22/02/08, Consultores Software <[EMAIL PROTECTED]> escreveu: > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > Em 22/02/08, Carlos <[EMAIL PROTECTED]> escreveu: > > > > Olá amigos, > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > tem um executavel .exe para acessar o banco de dados. > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > máquinas. > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > atualizador automático que fica direto no servidor e todos os usuarios > > quando executam o executavel busca a atualizacao no servidor. > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > onde começar. > > > > Obrigado e aguardo ajuda. > > Carlos > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
Olá! Quero o exemplo (fonte) sim. Me mande por favor no e-mail [EMAIL PROTECTED] Obrigado "r.marchiori" <[EMAIL PROTECTED]> escreveu: Olá pessoal, uma dica tb é criar um executavel alem do executavel do sistema e este novo só fica para dazer a atualização, este executavel menor para realizar a atualização verifica o numero da verão armazenado em uma tabela no banco de dados e compara com o numero do arquivo ini, se for diferente carrega o executavel do servidorvia (ftp) e apos isso atualiza um arquivo ini que esta na pasta local de cada estação e se a versão não for diferente não atualiza e chama o executavel do sistema. Assim não carrega toda hora o executavel do sistema. Se alguem quise o código fonte é só pedir. Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED]> escreveu: > > > E por que vc discorda? > > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de > Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL PROTECTED] > <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED] > > <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com Rodrigo Alex Marchiori http://r.marchiori.sites.uol.com.br msn: [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas] - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
Olá Rodrigo, Você pode mandar pra mim? [EMAIL PROTECTED] ou [EMAIL PROTECTED] 2008/2/22 r.marchiori <[EMAIL PROTECTED]>: > Olá pessoal, uma dica tb é criar um executavel alem do executavel do > sistema e este novo só fica para dazer a atualização, este executavel menor > para realizar a atualização verifica o numero da verão armazenado em uma > tabela no banco de dados e compara com o numero do arquivo ini, se for > diferente carrega o executavel do servidorvia (ftp) e apos isso atualiza um > arquivo ini que esta na pasta local de cada estação e se a versão não for > diferente não atualiza e chama o executavel do sistema. > Assim não carrega toda hora o executavel do sistema. > Se alguem quise o código fonte é só pedir. > > > Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para > passar todo o arquivo do executável. Em alguns casos isso lentifica > demais toda a rede (imagine 40 ou mais estações). > E se a rede for lenta naturalmente ou o acesso for remoto, cada vez > que inicializar o aplicativo, terá que ser feito o "download" > completo, causando demora desnecessária. > > Além do caso de ter que esperar todo mundo se desconectar para atualizar. > Fora os erros esotéricos do windows que diz que ainda tem alguém > conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando > um reboot no servidor. > > Bom, acho que são alguns bons motivos. > > Aquele abraço. > > Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL > PROTECTED]> > escreveu: > > > > > > E por que vc discorda? > > > > De: delphi-br@yahoogrupos.com.br [mailto: > delphi-br@yahoogrupos.com.br ] Em nome de > Guionardo Furlan > > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > > Para: delphi-br@yahoogrupos.com.br > > Assunto: Re: [delphi-br] Atualizador automatico > > > > Será mesmo uma boa idéia? Discordo. > > > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > > indicando a versão. > > Nos clientes, um aplicativo inicializador compararia a versão do > > executável local com a versão do executável remoto. Em caso de > > diferença, copiará do servidor. > > Por último, o aplicativo inicializador chama o executável localmente. > > > > Em 22/02/08, Consultores Software <[EMAIL > > PROTECTED] consultoressoftware%40gmail.com> > escreveu: > > > > > > Antes de pensar num atualizador, não seria mais fácil deixar um > executável > > > só no servidor e mapear para que cada usuário tenha acesso a ele via > rede, > > > do que distribuir várias cópias ? Assim, você teria que atualizar uma > vez > > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos > os > > > usuários terão que sair dele em suas máquinas, a menos que o servidor > seja > > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > > > Em 22/02/08, Carlos <[EMAIL > > > PROTECTED] ca_programador007%40yahoo.com.br> > escreveu: > > > > > > > > Olá amigos, > > > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada > maquina > > > > tem um executavel .exe para acessar o banco de dados. > > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > > máquina para atualizar o arquivo, e isso é muito chato porque são > várias > > > > máquinas. > > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > > atualizador automático que fica direto no servidor e todos os > usuarios > > > > quando executam o executavel busca a atualizacao no servidor. > > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei > por > > > > onde começar. > > > > > > > > Obrigado e aguardo ajuda. > > > > Carlos > > > > > > > > -- > Timeo hominem unius libri > Cogito ergo sum - Carpe diem > > []s > Guionardo Furlan > http://guionardo.blogspot.com > > Rodrigo Alex Marchiori > http://r.marchiori.sites.uol.com.br > msn: [EMAIL PROTECTED] > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Atenciosamente, -- Sérgio Cavalcante Mitros Tecnologia [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
Bom dia.22/02/2008 Se voce realmente estiver disponibilizando o seu programa, eu teria muito interesse em recebe-lo. Estava me preparando para escrever algo, que pela sua descrição seria muito semelhante ao seu, e como voce seguramente bem sabe, depois do dinheiro o que mais falta é tempo. Agradeceria se voce mandasse para [EMAIL PROTECTED] como anexo ou, me indicasse como baixar. Fico a sua disposição se puder retribuir. []s Edison - Original Message - From: "r.marchiori" <[EMAIL PROTECTED]> To: "delphi-br" Sent: Friday, February 22, 2008 9:17 AM Subject: Re: [delphi-br] Atualizador automatico Olá pessoal, uma dica tb é criar um executavel alem do executavel do sistema e este novo só fica para dazer a atualização, este executavel menor para realizar a atualização verifica o numero da verão armazenado em uma tabela no banco de dados e compara com o numero do arquivo ini, se for diferente carrega o executavel do servidorvia (ftp) e apos isso atualiza um arquivo ini que esta na pasta local de cada estação e se a versão não for diferente não atualiza e chama o executavel do sistema. Assim não carrega toda hora o executavel do sistema. Se alguem quise o código fonte é só pedir. Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED]> escreveu: > > > E por que vc discorda? > > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL PROTECTED] <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED] <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com Rodrigo Alex Marchiori http://r.marchiori.sites.uol.com.br msn: [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> Links do Yahoo! Grupos
RES: [delphi-br] Atualizador automatico
Concordo com sua colocação, eu tinha o mesmo problema do colega abaixo e resolvi isso criando um atualizador, onde controlo a versão do meu sistema no Delphi mesmo e quando inicio o meu sistema mando ele verificar no servidor se tem uma nova versão lá e se tiver ele então copia o exe, para a maquina local, e assim evito a lentidão no momento de abrir o sistema e ainda tenho total liberdade para substituir o exe do sistema no servidor sem ter que parar nenhuma estação de trabalho. Qual quer duvida de como montar estou a disposição. Só par registrar em 1 ano que estou usando este método nunca parei uma estação sequer para atualizar o EXE. Marcelo Mendes de Oliveira Analista de Informática Tel.: + 49 3541-6177 Fax: + 49 3541-0423 IGUAÇU - celulose, papel s.a www.iguacucelulose.com.br <http://www.iguacucelulose.com.br/> P Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! Before printing this document, think about your responsibility and care for the ENVIRONMENT! _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de r.marchiori Enviada em: sexta-feira, 22 de fevereiro de 2008 09:18 Para: delphi-br Assunto: Re: [delphi-br] Atualizador automatico Olá pessoal, uma dica tb é criar um executavel alem do executavel do sistema e este novo só fica para dazer a atualização, este executavel menor para realizar a atualização verifica o numero da verão armazenado em uma tabela no banco de dados e compara com o numero do arquivo ini, se for diferente carrega o executavel do servidorvia (ftp) e apos isso atualiza um arquivo ini que esta na pasta local de cada estação e se a versão não for diferente não atualiza e chama o executavel do sistema. Assim não carrega toda hora o executavel do sistema. Se alguem quise o código fonte é só pedir. Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED] <mailto:davi.wall%40mult.com.br> com.br> escreveu: > > > E por que vc discorda? > > De: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br [mailto:[EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br] Em nome de Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software mailto:consultoressoftware%40gmail.com> @gmail.com <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos mailto:ca_programador007%40yahoo.com.br> yahoo.com.br <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda
RES: [delphi-br] Atualizador automatico
Esse argumento já foi discutido algumas vezes aqui na empresa. Cara, essa demora é tão pequena que nem é mensurável. Agora vc imagina 40 estações baixando o sistema todinho mesmo os módulos que não vão utilizar naquele dia. Isso sim gera um tráfego enorme na rede. Aqui na empresa temos implementado um esquema avançado de atualização nas estações Para clientes em 3 camadas. É muito útil para redes lentas ou acesso remoto. Agora para redes internas e empresas de pequeno e médio porte, não vejo solução melhor que o executável único. E é assim que utilizamos para esse mercado. Esse esquema "exotérico" não existe. Se é que existe, basta simplesmente ir em computer management e visualizar quem está com arquivo aberto e matar o cara. Pode ser exotérico para quem não conhece esse método. Agora, realmente, se o executável tem 30, 40, 50 mega. Até localmente ele vai demorar tempo pra carregar. []'s De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Guionardo Furlan Enviada em: sexta-feira, 22 de fevereiro de 2008 08:58 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Atualizador automatico Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED] <mailto:davi.wall%40mult.com.br> > escreveu: > > > E por que vc discorda? > > De: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > [mailto:delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > ] Em nome de Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL PROTECTED] > <mailto:consultoressoftware%40gmail.com> > <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED] > > <mailto:ca_programador007%40yahoo.com.br> > > <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
Olá pessoal, uma dica tb é criar um executavel alem do executavel do sistema e este novo só fica para dazer a atualização, este executavel menor para realizar a atualização verifica o numero da verão armazenado em uma tabela no banco de dados e compara com o numero do arquivo ini, se for diferente carrega o executavel do servidorvia (ftp) e apos isso atualiza um arquivo ini que esta na pasta local de cada estação e se a versão não for diferente não atualiza e chama o executavel do sistema. Assim não carrega toda hora o executavel do sistema. Se alguem quise o código fonte é só pedir. Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED]> escreveu: > > > E por que vc discorda? > > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de > Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL PROTECTED] > <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED] > > <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com Rodrigo Alex Marchiori http://r.marchiori.sites.uol.com.br msn: [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
Cada vez que o cliente abre o aplicativo, ele acaba usando a rede para passar todo o arquivo do executável. Em alguns casos isso lentifica demais toda a rede (imagine 40 ou mais estações). E se a rede for lenta naturalmente ou o acesso for remoto, cada vez que inicializar o aplicativo, terá que ser feito o "download" completo, causando demora desnecessária. Além do caso de ter que esperar todo mundo se desconectar para atualizar. Fora os erros esotéricos do windows que diz que ainda tem alguém conectado no sistema, mesmo que nenhum cliente esteja ligado, forçando um reboot no servidor. Bom, acho que são alguns bons motivos. Aquele abraço. Em 22/02/08, Davi Eduardo Borges Wall <[EMAIL PROTECTED]> escreveu: > > > E por que vc discorda? > > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de > Guionardo Furlan > Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] Atualizador automatico > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL PROTECTED] > <mailto:consultoressoftware%40gmail.com> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED] > <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com
Res: [delphi-br] Atualizador automatico
http://www.devmedia.com.br/articles/viewcomp.asp?comp=1024&hl= ou http://www.devmedia.com.br/articles/viewcomp.asp?comp=6333&hl= ou http://www.devmedia.com.br/articles/viewcomp.asp?comp=4929&hl= isso em uma pesquisa rápida, se tivesse tempo e precisando disso garanto que tinha achado tudo o que preciso, talvez até pronto. Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
A função a seguir ( fonte: DtDelphi ) pega informações do exe ( desde que você faça o compilador do incluí-las com a Opção Version Info do projeto ) function FileVerInfo(const FileName: string;var FileInfo: TStringList): Boolean; // // Obtem diversas informações de um arquivo executável // // Requer um StringList criado antes de executar a função // deve ser declarado na clausula Var no inicio da Unit // StrLst := TStringList.Create; // // const Key: array[1..9] of string =('CompanyName', 'FileDescription', 'FileVersion', 'InternalName', 'LegalCopyright', 'OriginalFilename', 'ProductName', 'ProductVersion', 'Comments'); KeyBr: array [1..9] of string = ('Empresa..', 'Descricao', 'Versao do Arquivo...', 'Nome Interno...', 'Copyright..', 'Nome Original do Arquivo.', 'Produto.', 'Versao do Produto', 'Comentarios...:'); var Dummy : THandle; BufferSize, Len : Integer; Buffer : PChar; LoCharSet, HiCharSet : Word; Translate, Return : Pointer; StrFileInfo, Flags : string; TargetOS, TypeArq : string; FixedFileInfo : Pointer; i : Byte; begin Result := False; If not FileExists(FileName) then begin showmessage('Arquivo não encontrado'); Result := False; exit; end; BufferSize := GetFileVersionInfoSize(PChar(FileName), Dummy); if BufferSize <> 0 then begin GetMem(Buffer, Succ(BufferSize)); try if GetFileVersionInfo(PChar(FileName), 0, BufferSize,Buffer) then begin if VerQueryValue(Buffer, '\VarFileInfo\Translation', Translate, UINT(Len)) then begin LoCharSet := LoWord(Longint(Translate^)); HiCharSet := HiWord(Longint(Translate^)); for i := 1 to 9 do begin StrFileInfo := Format('\StringFileInfo\0%x0%x\%s',[LoCharSet, HiCharSet, Key[i]]); ifVerQueryValue(Buffer,PChar(StrFileInfo), Return,UINT(Len)) then begin FileInfo.Add(KeyBr[i] + ': ' + PChar(Return)); end; end; if VerQueryValue(Buffer,'\',FixedFileInfo, UINT(Len)) then withTVSFixedFileInfo(FixedFileInfo^) do begin Flags := ''; if (dwFileFlags and VS_FF_DEBUG) = VS_FF_DEBUG then begin Flags := Concat(Flags,'*Debug* '); end; if (dwFileFlags and VS_FF_SPECIALBUILD) = VS_FF_SPECIALBUILD then begin Flags := Concat(Flags, '*Special Build* '); end; if (dwFileFlags and VS_FF_PRIVATEBUILD) = VS_FF_PRIVATEBUILD then begin Flags := Concat(Flags, '*Private Build* '); end; if (dwFileFlags and VS_FF_PRERELEASE) = VS_FF_PRERELEASE then begin Flags := Concat(Flags, '*Pre-Release Build* '); end; if (dwFileFlags and VS_FF_PATCHED) = VS_FF_PATCHED then begin Flags := Concat(Flags, '*Patched* '); end; if Flags <> '' then begin FileInfo.Add('Atributos: ' + Flags); end; TargetOS := 'Plataforma (OS): '; case dwFileOS of VOS_UNKNOWN : TargetOS := Concat(TargetOS, 'Desconhecido'); VOS_DOS : TargetOS := Concat(TargetOS, 'MS-DOS'); VOS_OS216 : TargetOS := Concat(TargetOS, '16-bit OS/2'); VOS_OS232 : TargetOS := Concat(TargetOS, '32-bit OS/2'); VOS_NT : TargetOS := Concat(TargetOS, 'Windows NT'); VOS_NT_WINDOWS32, 4: TargetOS := Concat(TargetOS, 'Win32 API'); VOS_DOS_WINDOWS16: TargetOS := Concat(TargetOS, '16-bit Windows ','sob MS-DOS'); else TargetOS := Concat(TargetOS, 'Fora do Padrão. Código: ', IntToStr(dwFileOS)); end; FileInfo.Add(TargetOS); TypeArq := 'Tipo de Arquivo: '; case dwFileType of VFT_UNKNOWN : TypeArq := Concat(TypeArq,'Desconhecido'); VFT_APP : TypeArq := Concat(TypeArq,'Aplicacao'); VFT_DLL : TypeArq := Concat(TypeArq,'Dynamic-Link Lib.'); VFT_DRV : begin TypeArq := Concat(TypeArq,'Device driver - Driver '); case dwFileSubtype of VFT2_UNKNOWN : TypeArq := Concat(TypeArq,'Desconhecido'); VFT2_DRV_PRINTER : TypeArq := Concat(TypeArq,'de Impressao'); VFT2_DRV_KEYBOARD : TypeArq := Concat(TypeArq,'de Teclado'); VFT2_DRV_LANGUAGE : TypeArq := Concat(TypeArq,'de Idioma'); VFT2_DRV_DISPLAY : TypeArq := Concat(TypeArq,'de Vídeo'); VFT2_DRV_MOUSE : TypeArq := Concat(TypeArq,'de Mouse'); VFT2_DRV_NETWORK : TypeArq := Concat(TypeArq,'de Rede'); VFT2_DRV_SYSTEM : TypeArq := Concat(TypeArq,'de Sistema'); VFT2_DRV_INSTALLABLE : TypeArq := Concat(TypeArq,'Instalavel'); VFT2_DRV_SOUND : TypeArq := Concat(TypeArq,'Multimida'); end; end; VFT_FONT : begin TypeArq := Concat(TypeArq,'Fonte - Fonte '); case dwFileSubtype of VFT2_UNKNOWN : TypeArq := Concat(TypeArq, 'Desconhecida'); VFT2_FONT_RASTER : TypeArq := Concat(TypeArq,'Raster'); VFT2_FONT_VECTOR : TypeArq := Concat(TypeArq,'Vetorial'); VFT2_FONT_TRUETYPE : TypeArq := Concat(TypeArq,'TrueType'); end; end; VFT_VXD : TypeArq := Concat(TypeArq,'Virtual Device'); VFT_STATIC_LIB: TypeArq := Concat(TypeArq,'Static-Link Lib.'); end; FileInfo.Add(TypeArq); end; end; end; finally FreeMem(Buffer, Succ(BufferSize)); Result := FileInfo.Text <> ''; end; end; end; Em 22/02/08, Carlos <[EMAIL PROTEC
Re: [delphi-br] Atualizador automatico
Ta... entendo Mas como faço isso? Alguem tem algum exemplo prático? obrigado Consultores Software <[EMAIL PROTECTED]> escreveu: Pelo menos nas empresas onde trabalhei, essa solução de manter um só exe no servidor funciona muito bem. O único problema é fazer com que os usuários ( cerca de 50, em média) fechem o aplicativo no momento da atualização, o que pode ser contornado se as atualizações puderem ser feitas em horários em que o sistema não é utilizado. Agora, se não tiver jeito mesmo, melhor comparar as versões dos arquivos exe ( servidor e local ) e fazer a cópia, caso necessário. Em 22/02/08, Guionardo Furlan <[EMAIL PROTECTED]> escreveu: > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL > PROTECTED]> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um > executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via > rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma > vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor > seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED]> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada > maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são > várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei > por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > > -- > Timeo hominem unius libri > Cogito ergo sum - Carpe diem > > []s > Guionardo Furlan > http://guionardo.blogspot.com > > [As partes desta mensagem que não continham texto foram removidas] - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Atualizador automatico
E por que vc discorda? De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Guionardo Furlan Enviada em: sexta-feira, 22 de fevereiro de 2008 08:06 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Atualizador automatico Será mesmo uma boa idéia? Discordo. Eu deixaria uma versão do executável no servidor, com um arquivo texto indicando a versão. Nos clientes, um aplicativo inicializador compararia a versão do executável local com a versão do executável remoto. Em caso de diferença, copiará do servidor. Por último, o aplicativo inicializador chama o executável localmente. Em 22/02/08, Consultores Software <[EMAIL PROTECTED] <mailto:consultoressoftware%40gmail.com> > escreveu: > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > Em 22/02/08, Carlos <[EMAIL PROTECTED] > <mailto:ca_programador007%40yahoo.com.br> > escreveu: > > > > Olá amigos, > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > tem um executavel .exe para acessar o banco de dados. > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > máquinas. > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > atualizador automático que fica direto no servidor e todos os usuarios > > quando executam o executavel busca a atualizacao no servidor. > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > onde começar. > > > > Obrigado e aguardo ajuda. > > Carlos > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
Pelo menos nas empresas onde trabalhei, essa solução de manter um só exe no servidor funciona muito bem. O único problema é fazer com que os usuários ( cerca de 50, em média) fechem o aplicativo no momento da atualização, o que pode ser contornado se as atualizações puderem ser feitas em horários em que o sistema não é utilizado. Agora, se não tiver jeito mesmo, melhor comparar as versões dos arquivos exe ( servidor e local ) e fazer a cópia, caso necessário. Em 22/02/08, Guionardo Furlan <[EMAIL PROTECTED]> escreveu: > > Será mesmo uma boa idéia? Discordo. > > Eu deixaria uma versão do executável no servidor, com um arquivo texto > indicando a versão. > Nos clientes, um aplicativo inicializador compararia a versão do > executável local com a versão do executável remoto. Em caso de > diferença, copiará do servidor. > Por último, o aplicativo inicializador chama o executável localmente. > > Em 22/02/08, Consultores Software <[EMAIL > PROTECTED]> > escreveu: > > > > Antes de pensar num atualizador, não seria mais fácil deixar um > executável > > só no servidor e mapear para que cada usuário tenha acesso a ele via > rede, > > do que distribuir várias cópias ? Assim, você teria que atualizar uma > vez > > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > > usuários terão que sair dele em suas máquinas, a menos que o servidor > seja > > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > > > Em 22/02/08, Carlos <[EMAIL PROTECTED]> > escreveu: > > > > > > Olá amigos, > > > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada > maquina > > > tem um executavel .exe para acessar o banco de dados. > > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > > máquina para atualizar o arquivo, e isso é muito chato porque são > várias > > > máquinas. > > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > > atualizador automático que fica direto no servidor e todos os usuarios > > > quando executam o executavel busca a atualizacao no servidor. > > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei > por > > > onde começar. > > > > > > Obrigado e aguardo ajuda. > > > Carlos > > > > > -- > Timeo hominem unius libri > Cogito ergo sum - Carpe diem > > []s > Guionardo Furlan > http://guionardo.blogspot.com > > [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Atualizador automatico
Será mesmo uma boa idéia? Discordo. Eu deixaria uma versão do executável no servidor, com um arquivo texto indicando a versão. Nos clientes, um aplicativo inicializador compararia a versão do executável local com a versão do executável remoto. Em caso de diferença, copiará do servidor. Por último, o aplicativo inicializador chama o executável localmente. Em 22/02/08, Consultores Software <[EMAIL PROTECTED]> escreveu: > > Antes de pensar num atualizador, não seria mais fácil deixar um executável > só no servidor e mapear para que cada usuário tenha acesso a ele via rede, > do que distribuir várias cópias ? Assim, você teria que atualizar uma vez > só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os > usuários terão que sair dele em suas máquinas, a menos que o servidor seja > linux, que permite sobrescrever o exe mesmo que ele esteja em uso . > > Em 22/02/08, Carlos <[EMAIL PROTECTED]> escreveu: > > > > Olá amigos, > > > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > > tem um executavel .exe para acessar o banco de dados. > > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > > máquina para atualizar o arquivo, e isso é muito chato porque são várias > > máquinas. > > Eu sei que existe uma forma fácil de resolver isso, utilizando um > > atualizador automático que fica direto no servidor e todos os usuarios > > quando executam o executavel busca a atualizacao no servidor. > > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > > onde começar. > > > > Obrigado e aguardo ajuda. > > Carlos > > -- Timeo hominem unius libri Cogito ergo sum - Carpe diem []s Guionardo Furlan http://guionardo.blogspot.com
Re: [delphi-br] Atualizador automatico
Antes de pensar num atualizador, não seria mais fácil deixar um executável só no servidor e mapear para que cada usuário tenha acesso a ele via rede, do que distribuir várias cópias ? Assim, você teria que atualizar uma vez só. Um ponto crítico aí é que, para atualizar esse aplicativo, todos os usuários terão que sair dele em suas máquinas, a menos que o servidor seja linux, que permite sobrescrever o exe mesmo que ele esteja em uso . Em 22/02/08, Carlos <[EMAIL PROTECTED]> escreveu: > > Olá amigos, > > Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina > tem um executavel .exe para acessar o banco de dados. > Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em > máquina para atualizar o arquivo, e isso é muito chato porque são várias > máquinas. > Eu sei que existe uma forma fácil de resolver isso, utilizando um > atualizador automático que fica direto no servidor e todos os usuarios > quando executam o executavel busca a atualizacao no servidor. > Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por > onde começar. > > Obrigado e aguardo ajuda. > Carlos > > - > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para > armazenamento! > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Atualizador automatico
Olá amigos, Tenho um aplicativo onde o banco de dados fica no servidor e cada maquina tem um executavel .exe para acessar o banco de dados. Muitas vezes eu preciso atualizar o .exe e preciso ir de máquina em máquina para atualizar o arquivo, e isso é muito chato porque são várias máquinas. Eu sei que existe uma forma fácil de resolver isso, utilizando um atualizador automático que fica direto no servidor e todos os usuarios quando executam o executavel busca a atualizacao no servidor. Gostaria de saber como faz isso. Alguem me ajuda a começar? Nem sei por onde começar. Obrigado e aguardo ajuda. Carlos - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]