Ir para conteúdo

[Encerrado] Auto Updater


JoaoRpp

Posts Recomendados

  • Irá precisar de:

    2 - Label

    1 - ProgressBar

    -

    -

  • Tutorial Programa:

    #Label:

    Label1 = Renomeie para "Atualizando :"

    Label2 = Deixe como está

    -

    #ProgressBar:

    Não é necessario modificar, deixe do tamanho que quiser.

    -

    -

  • Tutorial Update:

    #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
Link para o comentário
Compartilhar em outros sites

 

 

 

Não intendi o NeonCube =/

 

 

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 ?

Link para o comentário
Compartilhar em outros sites

 

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..

Link para o comentário
Compartilhar em outros sites

  • 4 years later...
A questão neste tópico de suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...