Alguem poderia me passar um AutoUpdater?
e como usar?
2 - Label
1 - ProgressBar
-
-
#Label:
Label1 = Renomeie para "Atualizando :"
Label2 = Deixe como está
-
#ProgressBar:
Não é necessario modificar, deixe do tamanho que quiser.
-
-
#Crie as pastas no seu FTP (Hospedagem)
www\Update\
www\Update\Versao\
-
Coloque os arquivos lá.
Configure (NomePrograma1, NomePrograma2, NomePrograma3).exe , Links conforme seu ftp do seu jeito.
Imports System.Net Imports System.Security.Cryptography Public Class Form1 Dim V_Programa As String = "" Dim V_Programa2 As String = "" Dim V_Programa3 As String = "" WithEvents wb As New WebClient Dim _arquivos As String Dim _arquivos1 As String Dim _arquivos2 As String Dim _arquivos3 As String Dim _arquivos4 As String Dim int As Integer = 0 WithEvents webclient1 As New WebClient WithEvents webclient2 As New WebClient WithEvents webclient3 As New WebClient WithEvents webclient4 As New WebClient WithEvents webclient5 As New WebClient WithEvents webclient6 As New WebClient WithEvents webclient7 As New WebClient Private Function getFileMd5(ByVal filePath As String) As String Dim File() As Byte = System.IO.File.ReadAllBytes(filePath) Dim Md5 As New MD5CryptoServiceProvider() Dim byteHash() As Byte = Md5.ComputeHash(File) Return Convert.ToBase64String(byteHash) End Function Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load On Error Resume Next Clipboard.SetText(getFileMd5(Application.StartupPath & "\nomedoprograma.exe")) If (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) Then V_Programa = Clipboard.GetDataObject().GetData(DataFormats.Text).ToString() Clipboard.Clear() Else End If Clipboard.SetText(getFileMd5(Application.StartupPath & "\nomedoprograma2.exe")) If (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) Then V_Programa2 = (Clipboard.GetDataObject().GetData(DataFormats.Text).ToString()) Clipboard.Clear() Else End If Clipboard.SetText(getFileMd5(Application.StartupPath & "\nomedoprograma3.exe")) If (Clipboard.GetDataObject().GetDataPresent(DataFormats.Text)) Then V_Programa3 = Clipboard.GetDataObject().GetData(DataFormats.Text).ToString() Clipboard.Clear() Else End If Dim versaodosite1 As String = webclient1.DownloadString("http://MeuHost.party.lc/Update/Versao/nomedoprograma.php") If versaodosite1 = V_Programa Then Dim versaodosite2 As String = webclient2.DownloadString("http://MeuHost.party.lc/Update/Versao/nomedoprograma2.php") If versaodosite2 = V_Programa2 Then Dim versaodosite3 As String = webclient3.DownloadString("http://MeuHost.party.lc/Update/Versao/nomedoprograma3.php") If versaodosite3 = V_Programa3 Then Label2.Text = "Não há novas atualizações!" ProgressBar1.Value = "100" MsgBox("Os arquivos ja estão atualizados!", MsgBoxStyle.Information, "") Me.Close() Else Kill(Application.StartupPath & "\nomedoprograma.exe") Kill(Application.StartupPath & "\nomedoprograma2.exe") Kill(Application.StartupPath & "\nomedoprograma3.exe") UpdateWC() End If Else Kill(Application.StartupPath & "\nomedoprograma.exe") Kill(Application.StartupPath & "\nomedoprograma2.exe") Kill(Application.StartupPath & "\nomedoprograma3.exe") UpdateWC() End If Else Kill(Application.StartupPath & "\nomedoprograma.exe") Kill(Application.StartupPath & "\nomedoprograma2.exe") Kill(Application.StartupPath & "\nomedoprograma3.exe") UpdateWC() End If End Sub Private Sub wb_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles wb.DownloadFileCompleted int = +1 If _arquivos.Contains("[nomedoprograma]") Then _arquivos = _arquivos.Replace("[nomedoprograma]", "") Label2.Text = "nomedoprograma.exe" wb.DownloadFileAsync(New Uri("http://MeuHost.party.lc/Update/nomedoprograma.exe"), Application.StartupPath & "\nomedoprograma.exe") 'Caso queira adicionar mais 1 arquivo para download so subistituir ElseIf _arquivos2.Contains("[nomedoprograma2]") Then _arquivos2 = _arquivos2.Replace("[nomedoprograma2]", "") Label2.Text = "nomedoprograma2.exe" wb.DownloadFileAsync(New Uri("http://MeuHost.party.lc/Update/nomedoprograma2.exe"), Application.StartupPath & "\nomedoprograma2.exe") ElseIf _arquivos3.Contains("[nomedoprograma3]") Then _arquivos3 = _arquivos3.Replace("[nomedoprograma3]", "") Label2.Text = "nomedoprograma3.exe" wb.DownloadFileAsync(New Uri("http://MeuHost.party.lc/Update/nomedoprograma3.exe"), Application.StartupPath & "\nomedoprograma3.exe") ElseIf _arquivos4.Contains("[Cancel]") Then _arquivos4 = _arquivos4.Replace("[Cancel]", "") Label2.Text = "ATUALIZAÇÃO CONCLUIDA !" MsgBox("Atualização dos programas foram atualizadas com sucesso !", MsgBoxStyle.Information, "") Me.Close() Else MsgBox("Erro ao atualizar arquivos tente novamente mais tarde.", MsgBoxStyle.Critical, "") End If End Sub Private Sub UpdateWC() On Error Resume Next If Not My.Computer.FileSystem.FileExists(Application.StartupPath & "\nomedoprograma.exe") Then _arquivos &= "[nomedoprograma]" Else _arquivos &= "[nomedoprograma]" End If If Not My.Computer.FileSystem.FileExists(Application.StartupPath & "\nomedoprograma2.exe") Then _arquivos2 &= "[nomedoprograma2]" Else _arquivos2 &= "[nomedoprograma2]" End If If Not My.Computer.FileSystem.FileExists(Application.StartupPath & "\nomedoprograma3.exe") Then _arquivos3 &= "[nomedoprograma3]" Else _arquivos3 &= "[nomedoprograma3]" End If If Not My.Computer.FileSystem.FileExists(Application.StartupPath & "\nomedoprograma3.exe") Then _arquivos4 &= "[Cancel]" Else _arquivos4 &= "[Cancel]" End If Call wb_DownloadFileCompleted(Nothing, Nothing) End Sub Private Sub wb_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles wb.DownloadProgressChanged ProgressBar1.Maximum = e.TotalBytesToReceive ProgressBar1.Value = e.BytesReceived End Sub End Class
Como assim não entendeu ..
O intuito do software, ou como usar ..
Qualquer coisa me adiciona no skype, te ajudo !
Como assim não entendeu ..
O intuito do software, ou como usar ..
Qualquer coisa me adiciona no skype, te ajudo !
Só não intendi o FLD seria tipo
FLD update1.rar
ai ele extrai a update1.rar que teria a .spr dentro da pasta e substitui ?
Sim
Exatamente !
Sim
Exatamente !
Rep + ;D
Opa nada :33
(Obrigado pelo REP <3)
Estou jogando seu servidor !
Parabéns está ótimo aheuahu, Meu Nick : Flinkton
Reportado, pedido atendido..
"O fracasso é a oportunidade de se começar de novo inteligentemente"