ATUALIZACAO DO MEU SISTEMA

PERCIFILHO 03/09/2012 09:43:34
#409070
Olá, pessoal, temos um sistema na empresa, que fica instalado em uma pasta da rede local.
Só que quando eu faço alguma atualização, preciso comunicar aos usuários que a mesma existe, daí eles fazem a atualização sem que eu precise avisar um por um.
Porém, não tenho idéia de como fazer isso.
Pensei numa coisa, colocar o executável do Sistema na pasta arquivos de programas de cada máquina.
Criar um Timer para fazer a verificação se existe uma atualização a ser feita.
Se existir, vai criar um link na tela para fazê-la.
Aí, eu geraria um arquivo .exe, por exemplo SistemaAtual.exe, e quando o usuário clicasse no botão para atualizar, o sistema copia esse arquivo, deletando o arquivo antigo.
Mas não sei se é possível fazer isso, pois o arquivo estará aberto.
Então, peço uma ajuda de vocês para me darem idéias de como fazer isso.

Até mais.
ALEVALE 03/09/2012 11:13:24
#409082
Sugestão:

Crie um diretório compartilhado no servidor de dados e instale sua aplicação lá (Copie executaveis, dll, reports etc)...
Na estações você coloca somente um atalho apontando para esse diretório, quando houver atualização você irá apenas atualizar o EXE em 1 diretório.
FOXMAN 03/09/2012 14:39:58
#409094
Citação:

:
Olá, pessoal, temos um sistema na empresa, que fica instalado em uma pasta da rede local.
Só que quando eu faço alguma atualização, preciso comunicar aos usuários que a mesma existe, daí eles fazem a atualização sem que eu precise avisar um por um.
Porém, não tenho idéia de como fazer isso.
Pensei numa coisa, colocar o executável do Sistema na pasta arquivos de programas de cada máquina.
Criar um Timer para fazer a verificação se existe uma atualização a ser feita.
Se existir, vai criar um link na tela para fazê-la.
Aí, eu geraria um arquivo .exe, por exemplo SistemaAtual.exe, e quando o usuário clicasse no botão para atualizar, o sistema copia esse arquivo, deletando o arquivo antigo.
Mas não sei se é possível fazer isso, pois o arquivo estará aberto.
Então, peço uma ajuda de vocês para me darem idéias de como fazer isso.

Até mais.



Já ouviu falar em CLICKONCE ???? Faz tudo automaticamente para vc, basta utilizar a ferramenta que está diponível no vb.net.

FOXMAN 03/09/2012 14:41:13
#409095
De uma olhada nesse projeto que disponibilizei para os usuários : http://www.vbmania.com.br/pages/index.php?varModulo=Detalhe&varID=8171
PERCIFILHO 03/09/2012 16:13:43
#409097
Foxman, não conheço o ClickOnce, mas para mim não servirá, pois não vou utilizar a Internet. A rede é local, é dentro da empresa, não há a necessidade de se fazer atualizações dessa meneira, de qualquer forma, agradeço muito a dica e a atenção.

Alevale, estou fazendo dessa maneira, mesmo, o executável e todos os arquivos que o sistema necessita estão nessa pasta compartilhada. O problema era avisar o usuário e ele clicar em algum botão, o sistema atualizar sozinho, ou seja copiar o executável para a máquina local, apagar o arquivo antigo, ou renomear, tudo isso, teria de ser feito com o sistema fechado, pois não é possível manipular arquivos estando eles abertos.

Mas resolvi, criando um arquivo .bat que faz a tarefa para mim.

Quando o usuário clica no botão para atualizar, é criado um arquivo .bat, nele eu escrevo os comandos necessários para deletar o arquivo antigo, renomear o arquivo novo, e pronto.

Valeu, pessoal, muito obrigado.

Até mais.

ALEVALE 03/09/2012 16:45:55
#409100
Não entendi se esta na rede o porque da necessidade de excluir arquivos antigos ?
O que dá pra você fazer se for o caso, se a aplicação for utilizada por muitos usuários da empresa, você tira o acesso à pasta por alguns segundos e mata todos os acesso aos arquivos aberto (Dá pra controlar os arquivos abertos via MMC), dá você atualiza os arquivos e depois volta o acesso, a segunda opção matando os processos aberto sempre deu certo comigo dificilmente preciso parar o compartilhamento.
FOXMAN 03/09/2012 19:15:49
#409105
Citação:

:
Foxman, não conheço o ClickOnce, mas para mim não servirá, pois não vou utilizar a Internet. A rede é local, é dentro da empresa, não há a necessidade de se fazer atualizações dessa meneira, de qualquer forma, agradeço muito a dica e a atenção.

Alevale, estou fazendo dessa maneira, mesmo, o executável e todos os arquivos que o sistema necessita estão nessa pasta compartilhada. O problema era avisar o usuário e ele clicar em algum botão, o sistema atualizar sozinho, ou seja copiar o executável para a máquina local, apagar o arquivo antigo, ou renomear, tudo isso, teria de ser feito com o sistema fechado, pois não é possível manipular arquivos estando eles abertos.

Mas resolvi, criando um arquivo .bat que faz a tarefa para mim.

Quando o usuário clica no botão para atualizar, é criado um arquivo .bat, nele eu escrevo os comandos necessários para deletar o arquivo antigo, renomear o arquivo novo, e pronto.

Valeu, pessoal, muito obrigado.

Até mais.



Amigo, o ClickOnce não é somente para internet, vc configura ele dentro de sua rede mesmo, é tudo automático. Ao abrir ou fechar o sistema é feito uma checagem no local que vc indicar(onde vc publicou o sistema).
Se foi em um servidor na web, o sistema irá buscar na internet, se foi em um servidor local o sistema irá buscar no servidor local, simples assim.
Fazer processos mirabolantes para simples atualizações não faz sentido na existência do ClickOnce.

Tópico encerrado , respostas não são mais permitidas