SISTEMA DE ATUALIZA?ÃO: COMO COMPARAR VERSÃO
Amigos
Estou fazendo um software para auto-update do software, ele irá ler na nuvem que tenho uma versão 1.0.25 disponÃvel e a instalada é 1.0.2, qual o algoritmo eu comparo que a versão 1.0.25 é superior que a 1.0.2 ?
A versão de um software geralmente é dividido em 4 partes, sendo Major, Minor, Build e Revision, logo num modelo ficaria assim 1.0.0.0 ou com algumas versões já atualizadas 1.0.4.3
Abaixo eu comparo as versões e sei qual é a mais recente, mas como faço isso em forma de algoritmo (função) ?
1.2.25.2 [txt-color=#e80000]<->[/txt-color] 1.3.5.0 = 1.3.5.0
1.3.24.1085 [txt-color=#e80000]<->[/txt-color] 1.5.289.0 = 1.5.289.0
Estou fazendo um software para auto-update do software, ele irá ler na nuvem que tenho uma versão 1.0.25 disponÃvel e a instalada é 1.0.2, qual o algoritmo eu comparo que a versão 1.0.25 é superior que a 1.0.2 ?
A versão de um software geralmente é dividido em 4 partes, sendo Major, Minor, Build e Revision, logo num modelo ficaria assim 1.0.0.0 ou com algumas versões já atualizadas 1.0.4.3
Abaixo eu comparo as versões e sei qual é a mais recente, mas como faço isso em forma de algoritmo (função) ?
1.2.25.2 [txt-color=#e80000]<->[/txt-color] 1.3.5.0 = 1.3.5.0
1.3.24.1085 [txt-color=#e80000]<->[/txt-color] 1.5.289.0 = 1.5.289.0
Consegui fazer meus amigos, segue a solução...
Function FU_Comparar_Vesao(ByVal versionNew As String, ByVal versionOld As String) As String
Select Case String.Compare(versionNew, versionOld)
Case 1
MsgBox([Ô]A nova versão [Ô] & versionNew & [Ô] é mais atual que a instalada [Ô] & versionOld)
Case 0
MsgBox([Ô]A nova versão [Ô] & versionNew & [Ô] é a mesma que a atual [Ô] & versionOld)
Case -1
MsgBox([Ô]A nova versão [Ô] & versionNew & [Ô] é menor que a atual ja instalada [Ô] & versionOld)
End Select
Return String.Compare(versionNew, versionOld)
End Function
label.text = my.application.version
separaria o recebido do programa e da nuvem pelos pontos e faria uma comparacao como um todo da esquerda pra direita se o da nuvem apresenta algum numero maior, apresentando ja sairia da rotina sabendo q a nuvem é mais atual....precisaria sair pra nao ir ao fim e dar zica, tipo 2.2.2.1 no programa e na nuvem 2.1.9.9, o segundo numero diria q a nuvem é mais novo, porem no terceiro e quarto o contrario q o programa instalado antigo seria mais novo, tem o peso e precedencia na verificacao....
Olá GTSDIGITAL, experimentei a sua função e ela funfa na perfeição.
Tenho um update funcionando perfeitamente aqui, eu pego um arquivo txt leio ele no ftp, comparo as versoes do arquivo txt com a versao do sistema se a do txt no ftp for maior ele fecha o progama baixa o arquivo .rar, extrai os arquivos antigos e joga o novo na pasta...
Colegas
Uso o mesmo modo do KURTGU.
Funciona legal. Acho que é a melhor maneira.
Uso o mesmo modo do KURTGU.
Funciona legal. Acho que é a melhor maneira.
Esse tópico foi aberto em VB.NET.
Isso tudo que vcs estão fazendo é para atualizar o sistema com a versão mais recente ????
Se for isso mesmo, sugiro que façam uma pesquisa sobre CLICKONCE.
O ClickOnce gerencia isso sozinho.
Uso desde sempre e não preciso fazer nada disso.
Isso tudo que vcs estão fazendo é para atualizar o sistema com a versão mais recente ????
Se for isso mesmo, sugiro que façam uma pesquisa sobre CLICKONCE.
O ClickOnce gerencia isso sozinho.
Uso desde sempre e não preciso fazer nada disso.
ja usei o clickonce...
Tópico encerrado , respostas não são mais permitidas