Guida [Guida]Creare AutoPatcher Serio Per i vostri server

Stato
Discussione chiusa ad ulteriori risposte.
<.< mica tutti nascono imparati con Visual basic .-.


Ps. Ho seguito tutto alla lettera, ho configurato qualche pulsante come prova e ho visto che funzionano, allora ho creato una " patch " se così possiamo chiamarla xD per vedere se funziona, ma mi da errore di collegamento.
<.<
 
Ultima modifica:
Messo tutto nella directory sito.org/patcher/ ( uso un sito provvisorio in Altervista... )

La patch l'ho chiamata 2.exe, dato che la current version di var.ini è 2, mentre il file version del client è 1.
Ad ogni modo dice proprio errore di connessione ç_ç

In Versione Client ho messo ->

[Settings]
Version = 2
ConfirmExit = 0
WebBrowser = 0
WebBrowserUrl =
UpdateHost = www.testmetin2.altervista.org

--- Aggiornamento Post ---

Risolto l'errore di prima...
Adesso, visto che il patcher funziona :D, mi ero messo a modificare la grafica, appena ho cambiato lo sfondo e spostato un paio di tasti ( non ho cancellato nè toccato nulla... ) mi è comparso questo errore <.<

http://i48.tinypic.com/24oyi3r.jpg


ç_ç
 
°-° sei un folle ! xD in pratica hai hai tolto il webbrowser che era nascosto dietro l'immagine.... lo devi rimettere oppure non funzionerà più nulla... :patt:
 
Ultima modifica:
Non è danneggiato <.< prova a riscaricare ... (gli altri lo hanno aperto senza problemi °-°




Lascialo stare non è un errore ... come si suol dire : "Basta Che Funzioni " xD

Ecco appunto. Non funziona a dovere...
Se io creo un'interfaccia grafica ( o uso quella di base che hai lasciato tu... ) quando Compilo il patcher l'immagine dell' intero panello risulta danneggiata, e in più la barra di avanzamento non la si vede o_o

Poi la prima patch la fa senza problemi, e quella è già una gran cosa, successivamente però, se aggiungo un file 2.exe ( ho provato anche con 3... ) e se modifico sull' ftp il file ver.ini, il patcher del client non riconosce aggiornamenti.
Secondo me dipende dal file Version del client che sotto la voce Versione riporta lo stato (null) dopo che patcha.
E' una bella menata o.o in pratica dopo la prima patch tutti dovrebbero riscaricarsi manualmente il file Version del client, poichè se anche lo allego nella patch questo viene cmq sovrascritto da quello nuovo al termine dell' estrazione del file o.o



--> Edit: hai mica un recapito Msn ? Almeno parliamo in modo più veloce >.<
 
io non posto mai cose che non vanno spacciandole per funzionanti... .-.

Sì ma il problema è che anche usando quello che tu dici essere pronto al 100% ( per fare una prova... ) dopo il primo aggiornamento nel file versione del client mette (null) quindi i successivi aggiornamenti non verranno scaricati !

--- Aggiornamento Post ---

OK penso di aver trovato il problema.

Private Sub downl_DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs) Handles downl.DownloadFileCompleted
Dim p As Process = Process.Start(file)
p.WaitForExit()
My.Computer.FileSystem.DeleteFile(currdir & file)
Me.Label4.Visible = False
Label5.ForeColor = Color.Gold
Label8.ForeColor = Color.Gold
Label5.Text = "Update completati"
Label8.Text = "Aggiornamenti Completati: Divertiti! =)"
Me.ProgressBar1.Value = 0
Button11.Visible = True
Dim cnl As New MyIni(currdir & cnlini)
cnl.WriteString("Settings", "Version", "" & newversion)
End Sub

--> Lasciando le "" lui scrive nel Version del client un (null) che viene poi riconosciuto come errore e non fa scaricare le patch successive alla prima ç_ç

--- Aggiornamento Post ---

pavus ç_ç help xDDD
 
Ok ho risolto questo problema ;)
in pratica cerca queste righe:
Private Sub BackgroundWorker2_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker2.DoWork
Dim iniFile_var As New MyIni(tmpdir & varini)
Dim iniFile_cnl As New MyIni(currdir & cnlini)
Dim CV As String = iniFile_var.GetString("Settings", "CurrentVersion", "(none)")
Dim V As String = iniFile_cnl.GetString("Settings", "Version", "(none)")
newversion = CV
If CV = V Then
thesameversion = True
Else
file = V + 1 & ".exe"
thesameversion = False
End If
End Sub


e sostituiscile con queste:
Private Sub BackgroundWorker2_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker2.DoWork
Dim iniFile_var As New MyIni(tmpdir & varini)
Dim iniFile_cnl As New MyIni(currdir & cnlini)
Dim V As String = iniFile_cnl.GetString("Settings", "Version", "")
Dim CV As String = iniFile_var.GetString("Settings", "CurrentVersion", "" & V + 1)

newversion = CV
If CV = V Then
thesameversion = True
Else
file = V + 1 & ".exe"
thesameversion = False
End If
End Sub
 
Fantastico :) ora funziona a meraviglia.

Risolto un problema, se ne crea un altro xD
Adesso se sul sito c'è Versione 2 e sul client pure, invece di dire che non ci sono aggiornamenti si bugga il patcher ç.ç xD
 
Stato
Discussione chiusa ad ulteriori risposte.