SOBRE ATUALIZACAO DO SISTEMA EM MODO EXECUCAO

JOAOBENEVIDES 27/07/2009 11:56:25
#317969
gostaria de saber dos meus amigos aqui se é possivel eu fazer uma atuaziacao de programas em modo execucao do mesmo
queria poder atualziar o sistema como faz o windows por exenplo eu baixa se auto instala e depois volta somente som que tem atualizacao
X16X 27/07/2009 14:08:12
#317994
Voce quer um auto-update ?

JOAOBENEVIDES 27/07/2009 16:14:49
#318015
sim mais de meu sistema
F001E 27/07/2009 16:46:21
#318017
na verdade o que eu faço aqui....eu gero uma versão do Sistema coloco no Site da Empresa.....mas não seria um Auto-Update....ele faz o Update toda vez que eu abro o Sistema e verifico a Versão que esta no Site...se a versão do Site for maior que a do Sistema eu baixo a versão automaticamente e instalo a versão automaticamente...dai o Sistema fecha sozinho e abre de novo ja Atualizado..mas nao faz uma auto-update....pense nisso tambem
JOAOBENEVIDES 27/07/2009 18:03:06
#318029
vc'pode me postar como vc faz
F001E 27/07/2009 19:52:59
#318041
eu uso um componente chamado MAPI..atravez dele eu coloco a URL do site para pegar a atualizacao...vou gerar um arquivo para vc....dai vc analisa
TECLA 27/07/2009 20:05:20
#318043
Resposta escolhida
O componente INET (Microsoft Internet Transfer Control) resolve este problema facilmente.

Função para baixar o arquivo
Public Function Baixa_Versao(LocalArquivo As String ,  LocalURLArquivo As String) As Boolean
On error goto Baixa_erro
Dim bt() As Byte
Open LocalArquivo For Binary Access Write As #1
bt() = Inet1.OpenURL(LocalURLArquivo , icByteArray)
Put #1, , bt()
Close #1
Baixa_Versao=True

Exit Function
Baixa_erro:
Msgbox [Ô]Ocorreu um erro durante a transferência do arquivo ![Ô], vbcritical
Baixa_versao = False
Close#1
End Function


Rotina para COMPARAR as versões e baixar o arquivo
Public Function Verifica() As Boolean
Dim Atual as Boolean
Dim Versao as String
Dim Versao_Atual As string
Versao_Atual = App.Major & App.Minor & App.Revision
Atual = False

if Baixa_Versao([Ô]C:\versaoatual.txt[Ô], [Ô]http://www.geocities.com/macoratti/versao.txt[Ô])
Open [Ô]c:versaoatual.txt[Ô] for Input As #1
Line Input #1 , Versao
Close #1

Versao=trim(Versao)
Kill [Ô]C:\versaoatual.txt[Ô]

If Versao <> [Ô][Ô] And Versao_Atual < Versao Then
Atual = Baixa_Versao([Ô]c:versaoTEMP.EXE[Ô], [Ô]http://www.geocities.com/macoratti/seu_programa.exe[Ô])
End If
End If
Verifica = Atual
End Function


Link para o artigo:
http://www.macoratti.net/atual_vb.htm
Tópico encerrado , respostas não são mais permitidas