ATUALIZACAO DO SISTEMA
Bom dia gente, acho que seja uma pergunta tonta maas, nao achei nada a respeito, eu fiz a instalacao de um sistema esses dias no cliente, agora ele me pediu pra implementar algumas funcoes, só que na hora de atualizar o sistema do cliente, eu mandei por e-mail somente o executável que eu compilei no meu Not, só que no PC do cliente, aparece o novo menu que eu criei, só que quando clica em cima do ItemMenu ele da erro, o duro é que o cliente é totalmente leigo, nao sabe nem me dizer oque está acontecendo, só que fecha o sistema, mas no meu Not está tudo normal, o BD eu nao alterei nada, então como não sei certo qual o erro que está dando (vou ter que ir lá), o duro é que é em outra cidade e nao muito perto também, mas fazer oque, em fim...
Venho aqui perguntar, qual realmente o método de atualizacao do sistema que eu devo usar? esse de copiar o .EXE da minha maquina depois de compilado está certo? se sim nao funcionou, e pra eu gerar um novo instalador do sistema, fica meio complicado pra fazer isso, pois fica em 28MB, sendo que se trata de um sistema bem grande, nesse caso, qual seria a solucao mais prática pra isso, pois se eu ter que ir lá, toda atualizacao a mensalidade nao vai ser suficiente pra pagar a gazoza, hehe, bom espero que alguém possa me ajudar, obrigado a todos desde já, abracos.
Venho aqui perguntar, qual realmente o método de atualizacao do sistema que eu devo usar? esse de copiar o .EXE da minha maquina depois de compilado está certo? se sim nao funcionou, e pra eu gerar um novo instalador do sistema, fica meio complicado pra fazer isso, pois fica em 28MB, sendo que se trata de um sistema bem grande, nesse caso, qual seria a solucao mais prática pra isso, pois se eu ter que ir lá, toda atualizacao a mensalidade nao vai ser suficiente pra pagar a gazoza, hehe, bom espero que alguém possa me ajudar, obrigado a todos desde já, abracos.
Você só precisa gerar uma instalação nova caso tenha adicionado alguma referencia ou componente (dll ou ocx) em seu projeto.
Caso contrário, basta copiar o EXE
As referencias e componentes adicionados tambem podem ser instalados em separado, não esquecendo de registrá-las.
Caso contrário, basta copiar o EXE
As referencias e componentes adicionados tambem podem ser instalados em separado, não esquecendo de registrá-las.
Amigo caso você tenha colocado alguma OCX ou algum novo componente na sua atualização
você vai precisar enviar estes itens para o PC do Seu cliente, Você pode mandar apenas os itens e registralos ou criar uma nova instalação eu particularmente não crio nova instalação
você vai precisar enviar estes itens para o PC do Seu cliente, Você pode mandar apenas os itens e registralos ou criar uma nova instalação eu particularmente não crio nova instalação
O legal é vc ter alguma forma de conexão remota por exemplo teamviewer, logmein etc assim vc pode passar esses executável por email dividindo em vários e instalar no seu cliente.
Realmente vc precisa gerar um novo executável, pois na sua máquina sempre vai funcionar e na máquina do cliente não possui todos os arquivos que temos, que é o caso que o nosso amigo MFlavio citou.
Eu sofria com isso também, pois eu fazia modificações e esquecia o que tinha incluÃdo e quando chegava no cliente dava pau.
O sistema simplismente fecha porque não tem um tratamento de erro no inÃcio do formulário, então esta com cara que esse formulário tem um grid ou algo assim e que como não esta encontrando a variável esta fechando o sistema.
Um sujestão coloqueo com tratamento de erro no load do form
On Error goto trataerro
.
.
.
.
trataerro:
if err.number <> 0 then
msgbox [Ô]Ocorreu uma ação inesperada favor comunicar o setor de desenvolvimento[Ô] & chr(13) & Err.number & [Ô] - [Ô] & Err.Description
end if
Dessa forma o erro saira em português e o número do erro, assim você pode tomar as devidas decisões, podendo colocar o arquivo faltante e/ou ver a necessidade de uma reinstalação do sistema
Realmente vc precisa gerar um novo executável, pois na sua máquina sempre vai funcionar e na máquina do cliente não possui todos os arquivos que temos, que é o caso que o nosso amigo MFlavio citou.
Eu sofria com isso também, pois eu fazia modificações e esquecia o que tinha incluÃdo e quando chegava no cliente dava pau.
O sistema simplismente fecha porque não tem um tratamento de erro no inÃcio do formulário, então esta com cara que esse formulário tem um grid ou algo assim e que como não esta encontrando a variável esta fechando o sistema.
Um sujestão coloqueo com tratamento de erro no load do form
On Error goto trataerro
.
.
.
.
trataerro:
if err.number <> 0 then
msgbox [Ô]Ocorreu uma ação inesperada favor comunicar o setor de desenvolvimento[Ô] & chr(13) & Err.number & [Ô] - [Ô] & Err.Description
end if
Dessa forma o erro saira em português e o número do erro, assim você pode tomar as devidas decisões, podendo colocar o arquivo faltante e/ou ver a necessidade de uma reinstalação do sistema
Sim, obrigado pela ajuda de todos por enquanto, mas.... não adicionei nenhum componente ou referencia que já não tenha no primeiro sistema que instalei,
O Novo Form tem
1 - MSFlexGrid
2 - TextBox
7 - LVbuttons
Só isso... e lembrando que todos esses já estão funcionando no Cliente em outros Form[ô]s, só nesse que eu adicionei após realizar a instalacão que não está abrindo...
FEDERHEN, voce disse copiar o executável, eu fiz assim, recompilei o meu projeto(não adicionei nada que já não tenha e esteja funcionando em outros form[ô]s) peguei o executável que fica junto com o meu projeto e mandei por e-mail pra ele, chegou lá, ele só substituiu o executável do sistema que estava instalado em C:\Arquivos de Programas\Meu Sistema e rodou...
Foi isso? por que se for isso, foi exatamente oque eu fiz, até mais
E ALVAROVB2009, boa idéia, eu não tinha pensado nisso também, mas dessa vez eu acho que vou ter que ir lá mesmo, mas preciso arrumar um jeito de atualizar o sistema urgente!!!
Por enquanto obrigado a todos...
O Novo Form tem
1 - MSFlexGrid
2 - TextBox
7 - LVbuttons
Só isso... e lembrando que todos esses já estão funcionando no Cliente em outros Form[ô]s, só nesse que eu adicionei após realizar a instalacão que não está abrindo...
FEDERHEN, voce disse copiar o executável, eu fiz assim, recompilei o meu projeto(não adicionei nada que já não tenha e esteja funcionando em outros form[ô]s) peguei o executável que fica junto com o meu projeto e mandei por e-mail pra ele, chegou lá, ele só substituiu o executável do sistema que estava instalado em C:\Arquivos de Programas\Meu Sistema e rodou...
Foi isso? por que se for isso, foi exatamente oque eu fiz, até mais
E ALVAROVB2009, boa idéia, eu não tinha pensado nisso também, mas dessa vez eu acho que vou ter que ir lá mesmo, mas preciso arrumar um jeito de atualizar o sistema urgente!!!
Por enquanto obrigado a todos...
Aew, consegui o acesso remoto e vi o erro, e vi que é alguma coluna/campo que está faltando na linha de comando, sendo assim suponho que o programa não atualizou (TOTALMENTE), sei la, porque o menuitem apareceu, agora nao abre, então, acho que nao atualizou, sendo assim meu procedimento de atualizacao está errado, FATO!, então volto na mesma pergunta, qual a maneira certa de se atualizar? obrigado, vou postar a tela do erro, até mais.
Caro ADILSOO
Talves não seria um sistema eficaz de atualização mas um controle de versões de seu sistema.
Muitas empresas utilizarm como atualização criar um novo executável e disponibilizar para o cliente ('é o mais simples e facil de atualização de sistema')
Mas você precisa ter um mapa de dependencias de seu sistema para quando implementar uma mudança simple ou complexa você possa saber o que cada PC que roda seu sistema possa ter um mapa de bibliotecas e arquivos necessário para o funcionamento do sistema
Mantenha sempre um cópia de banco de dados atualizada do cliente pelo menos da estrutura para realização de testes.
Segunda forma de atualização seria utilização do FTP para atualizar sistemas desenvolvidos em Visual Studio.
é bem simples mas pode te ajudar caso queira impplementar o uso do FTP nas atualizações de seus sistemas desenvolvidos para VB6.0
http://www.macoratti.net/atual_vb.htm
Eu utilizo a atualização de sistemas por FTP e HTTPS tanto para webserver quanto para destop e mobile para framework 2.0; 3.0; 3.5; 4.0 tanto para x86 e x64
Para isso eu utilizo um controle de release integrado ao Visual Studio que é o Team Foundation Server (utilizava Source Safe)
Exceleten ferramenta para controle de versões e um e ótimo repositório de código.
Para cada cliente um conjunto de códigos e banco de dados contendo exatamente o mesmo ambiente do cliente.
Atualizar um sistema que está em uso pelo cliente de fato é complicado pois tem que testar todas as mudanças que possa interferir na estrutura antiga e ainda contemplar novos recursos..
Boa Sorte
Talves não seria um sistema eficaz de atualização mas um controle de versões de seu sistema.
Muitas empresas utilizarm como atualização criar um novo executável e disponibilizar para o cliente ('é o mais simples e facil de atualização de sistema')
Mas você precisa ter um mapa de dependencias de seu sistema para quando implementar uma mudança simple ou complexa você possa saber o que cada PC que roda seu sistema possa ter um mapa de bibliotecas e arquivos necessário para o funcionamento do sistema
Mantenha sempre um cópia de banco de dados atualizada do cliente pelo menos da estrutura para realização de testes.
Segunda forma de atualização seria utilização do FTP para atualizar sistemas desenvolvidos em Visual Studio.
é bem simples mas pode te ajudar caso queira impplementar o uso do FTP nas atualizações de seus sistemas desenvolvidos para VB6.0
http://www.macoratti.net/atual_vb.htm
Eu utilizo a atualização de sistemas por FTP e HTTPS tanto para webserver quanto para destop e mobile para framework 2.0; 3.0; 3.5; 4.0 tanto para x86 e x64
Para isso eu utilizo um controle de release integrado ao Visual Studio que é o Team Foundation Server (utilizava Source Safe)
Exceleten ferramenta para controle de versões e um e ótimo repositório de código.
Para cada cliente um conjunto de códigos e banco de dados contendo exatamente o mesmo ambiente do cliente.
Atualizar um sistema que está em uso pelo cliente de fato é complicado pois tem que testar todas as mudanças que possa interferir na estrutura antiga e ainda contemplar novos recursos..
Boa Sorte
Eita, é mais complicado do que eu imaginava, assim, eu desinstalando o sistema e reinstalando ele de novo roda normal, só que é meio complicado isso... nao há risco nenhum de perca de dados ou outros maaas.. sei la..
Bom, tratando-se do erro, na mensagem diz que a coluna [Ô]cadprovas[Ô], não foi encontrado no banco, provavelmente você esqueceu de atualizar o banco do seu cliente.
Com relação aos metodos, vou falar da empresa em que trabalho.
1 - No ambiente de desenvolvimento, temos varos sistemas operacionais, com vários situações, onde podemos simular o ambiente de uso do usuário final do sistema, isso evita lançar uma versão com erros.
2 - é importante ter um tratamento de erro no sistema, que não deixa dar o Run-Time, ou seja, quando da um erro , ao invés de fechar o sistema, da uma mensagem [Ô]bonitinha[Ô] para o usuário, e envia os dados do erro para a equipe de desenvolvimento.
3 - O nosso sistema possui uma atualização automática, ou seja, sempre que o usuário acessa o sistema, o próprio sistema verifica em um servidor web, se há uma nova versão (ocx, dll, exe), caso tenha, atualiza o sistema do cliente.
4 - Não podemos ir em cada cliente quando ele tiver duvida se um botão é quadrado ou retanguntar, (rs), usamo o suporte remoto, ou seja o cliente esta la na china, e eu no brasil, por meio de um programa de conexão remota, acesso o computador do cliente de esplico para ele que quando os 4 lado do botão tem o mesmo tamanho, é um quadrado...
Para isso, usamos um programa que é muito bom, free e leve, se chama Ammyy admin, disponivel para ser baixado nesse link
http://www.ammyy.com/AMMYY_Admin.exe
Desculpem as brincadeiras, e espero ter lhe ajudado.
Com relação aos metodos, vou falar da empresa em que trabalho.
1 - No ambiente de desenvolvimento, temos varos sistemas operacionais, com vários situações, onde podemos simular o ambiente de uso do usuário final do sistema, isso evita lançar uma versão com erros.
2 - é importante ter um tratamento de erro no sistema, que não deixa dar o Run-Time, ou seja, quando da um erro , ao invés de fechar o sistema, da uma mensagem [Ô]bonitinha[Ô] para o usuário, e envia os dados do erro para a equipe de desenvolvimento.
3 - O nosso sistema possui uma atualização automática, ou seja, sempre que o usuário acessa o sistema, o próprio sistema verifica em um servidor web, se há uma nova versão (ocx, dll, exe), caso tenha, atualiza o sistema do cliente.
4 - Não podemos ir em cada cliente quando ele tiver duvida se um botão é quadrado ou retanguntar, (rs), usamo o suporte remoto, ou seja o cliente esta la na china, e eu no brasil, por meio de um programa de conexão remota, acesso o computador do cliente de esplico para ele que quando os 4 lado do botão tem o mesmo tamanho, é um quadrado...
Para isso, usamos um programa que é muito bom, free e leve, se chama Ammyy admin, disponivel para ser baixado nesse link
http://www.ammyy.com/AMMYY_Admin.exe
Desculpem as brincadeiras, e espero ter lhe ajudado.
Caso o antigo EXE esteja sendo executado, você deve fechar...
Somente será possÃvel substituir um arquivo se ele não estiver rodando...
Citação:Caso o antigo EXE esteja sendo executado, você deve fechar...
Somente será possÃvel substituir um arquivo se ele não estiver rodando...
Sim.
No nosso caso, o sistema é dividido em blocos, e um dos blocos, é o atualizador, que é o primeiro a rodar.
Esse bloco, dificilmente é modificado, mas quando há uma versão desse bloco, ele renomeia, e baixa o novo atualizador,
quando o usuário acessar o sistema novamente, ele já terá o atualizador atualizado.
Tópico encerrado , respostas não são mais permitidas