UpdateLib - Een updater voor je applicaties

Status
Niet open voor verdere reacties.

The Mighty Atom

Terugkerende gebruiker
Lid geworden
22 mei 2008
Berichten
1.380
appupd_scr1.jpg
appupd_scr2.jpg
appupd_scr3.jpg


Het is ongelofelijk maar ook ik heb een Updater gemaakt. Ik heb dit in de eerste plaats voor eigen gebruik gemaakt en was niet van plan dit te delen met anderen, maar misschien is het toch niet zo'n gek idee dat wel te doen, dus bij deze.

UpdateLib is een updater dat je programma's voorziet van een update functie.
Het mooie is dat het een library (bibliotheek oftewel een dll bestand) betreft, dat al het werk doet en dat je zelf bijna niks hoeft te doen behalve het declareren van een CheckForUpdate class en het opgeven van een aantal properties. Meer komt er niet bij kijken.

Hier volgt een voorbeeld (Importeer wel de TheMightyAtom namespace):

Code:
        [COLOR="#0000FF"]With New[/COLOR] [COLOR="#008080"]CheckForUpdateDialog[/COLOR]
            .VersionInfoFile = [COLOR="#800000"]"versioninfo.txt"[/COLOR]
            .DownloadUrl = [COLOR="#800000"]"[/COLOR][COLOR="#0000FF"]http://yourhost.nl/update/[/COLOR]"
            .ManualDownloadUrl = [COLOR="#800000"]"[/COLOR][COLOR="#0000FF"]http://yourhost.nl/update/yourapp.zip[/COLOR][COLOR="#800000"]"[/COLOR]
            [COLOR="#008000"]'.Language = CheckForUpdateDialog.CheckForUpdateLanguage.Nederlands 'Not required because the default value for this property is English. Only set this if you wish to use the Dutch language.
            '.SpecialMessageEN = "This is an important message." 'Optional. A message in English for the end user.
            '.SpecialMessageNL = "Dit is een belangrijk bericht." 'Optional. A message in Dutch for the end user.[/COLOR]
            .ShowDialog()
        [COLOR="#0000FF"]End With[/COLOR]

Merk op dat de gecommentaarde properties (in het groen) optioneel zijn.

Er is een uitgebreide handleiding beschikbaar met informatie over hoe je de library installeerd en hoe je een nieuwe update voorbereid:
UpdateLib handleiding. Met dank aan JoZ1. :)

Download:
UpdateLib versie 1.0.1.1
 
Laatst bewerkt:
Ziet er goed uit maar is het mogelijk om de host gegevens te updaten?
Als ik eerlijk ben beter dan die van mij:thumb:
 
Hoe bedoel je?

Je host gegevens geef je op bij de DownloadUrl property.
 
Oh op die manier.
Tsja, hoevaak wijzig je je hostgegevens? Op dit moment is daar geen support voor.

Of je zult via de SpecialMessage property de gebruiker er op moeten wijzen dat het host adres gewijzigd wordt en dat hij voor 1 keer een update handmatig (dus zonder gebruik te maken van de updater) moeten downloaden.
 
Ik ben benieuwd hoe je updater omgaat met bestanden die overschreven moeten worden (nieuwe update/versie), maar die bestanden in gebruik zijn (bijv. omdat de applicatie nog draait).
 
Ziet er nice uit, ik heb het nog niet geprobeerd maar dat ga ik zeker een keer doen!

Bedankt.
 
Bestanden worden zonder problemen overschreven omdat de code die dat regelt in de dll zit, niet in de exe.
 
Bestanden worden zonder problemen overschreven omdat de code die dat regelt in de dll zit, niet in de exe.

En wat als die desbetreffende .exe overschreven moet worden, omdat daar een update in zit, en die .exe nog draait (dus in gebruik is)? ;)
 
Totaal geen probleem. De update wordt binnengehaald en het programma word daarna opnieuw opgestart.
Om eerlijk te zijn heb ik niet echt een idee waarom het zo werkt, ik ben allang blij dat het werkt zonder dat je een melding krijgt dat het bestand in gebruik ik.
 
Tof gedaan! :D
Persoonlijk ben ik een fan van exe zonder dll.
maar je kan mischien dingen verbeteren zodat het nog beter word?
http://users.skynet.be/Shutti/UPDATER/SHUTTIUPDATER.txt
Dit is mijn Software list. Het is opgebouwd zodat je het makkelijk kan verranderen. Je kan er zelf je updater commands met geven.
Mischien kan je dit gebruiken als inspiratiebron?
 
Nah, zoals het er nu voor staat werkt mn updater prima, maar bedankt in ieder geval. :)
 
Nee, begrijp me niet verkeerd. Het is zeer goed. Maar ik bedoel alleen maar dat je mischien ook een OS controle enzo kunt uitvoeren? Of gewoon om te zien of de update goed zal werken.
Heb je trouwens ooit gedacht om het op codeplex.com te zetten?
Ik denk zeker dat het daar ZEEER veel download zou hebben. En je hebt ruimte voor een eigen handleiding enzo..
 
Laatst bewerkt:
een OS controle

Die wordt uitgevoerd! Let maar eens op: Op Windows XP ziet de Dialog er heel anders uit dan op Windows Vista/7. En als je het over compatibliteit hebt: Op lager dan Windows XP werkt het gewoon niet ;).
 
nee ik bedoel dat je je software controlleert of het wel compatibel is met de OS
Dus dat je bv een nieuwe update (2.0) ofzo download. maar dat die niet werkt op XP.. dan moet dat controleren
 
Mijn updater werkt prima onder XP, Vista en 7. Dat zijn de OS's die ik ondersteun. Alles wat ouder is dan XP wordt niet ondersteund, maar dat wil niet meteen zeggen dat het niet werkt, zolang je het .NET Framework maar geinstalleerd hebt.
 
Maar ik bedoel de updater zelf niet (werk trouwens ook op windows 2000) maar het programma dat de updater download.
Ik bedoel bv. Je hebt een programma (1.0) en jouw updater. Je wilt het programma updaten naar 2.0 maar daar heb je windows 7 voor nodig bv.. Houw updater kan het wel.. maar het programma dat word geupdate zal niet meer werken.
 
Dat lijkt mij geen probleem: Dat kun je bij de software al aangeven en heeft niets met de updater van doen.
Als softwaredeveloper moet je daar gewoon rekening mee houden.

En nog iets: Waarom zou je bij versie 2, besturingssystemen niet ondersteunen t.o.v. versie 1? Dat komt toch bijna nooit voor?
 
Laatst bewerkt:
Het gaat toch om het principe?

Jij wilt dat een programma, die op besturingssystemen draait die een volgende versie niet ondersteunen, wordt geüpdatet?
En dat de updater dan een waarschuwing geeft?


Ik denk niet dat dat een serieus probleem is. Maar het is aan The Mighty Atom om te bepalen of dit in de updater wordt verwerkt. :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan