Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[VB.NET] Patches

Pagina: 1
Acties:
  • 169 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Beste,

Ik ben begonnen met te werken aan een tooltje. het nut hiervan is eigenlijk niet echt belangrijk want mijn vraag gaat eerder over de manier waarop het geprogrammeerd moet worden. Ik zou namelijk graag later via "patches" werken. Zoals gamedev's dus zeg maar doen ,en ook dikwijls gebeurt bij andere programma's. Maar moet je om dit toe te passen via een bepaalde manier je prog'jes in elkaar steken of zijn hier geen richtlijnen rond?
Ook zou ik graag weten of iemand me kan vertellen hoe ik het best te werk ga met da patch systeem. zijn hier kant en klare tools voor zoals bijvoorbeeld installshield of wat is dat allemaal?
Kzou mijn tool graag zeg maar installeren bij de gebruiker en dan later via updates uitbrengen op een webpagina die ze dan maar hoeven te downloaden en te starten. het programma trekt daarna zijn plan

  • Invisible_man
  • Registratie: Juni 2006
  • Laatst online: 14:22
De vraag is natuurlijk hoe groot je programma word. Bij games worden bij een patch alleen de gewijzigde bestanden vervangen (executables enzo), maar wordt de ruimte innemende content (filmpjes, models enzo) niet vervangen als dat niet nodig is. Als jouwn programma dus vrij klein is (<10MB bijvoorbeeld), kan je net zo goed een nieuwe versie van je programma aanbieden.

Verwijderd

Topicstarter
msh dat ik dat maar beter doe ook. Het zal sowieso niet echt overdreven groot worden en dan kan ik beter m'n tijd steken in het programma zelf dan dit uit te vissen :), thx anyway

  • Basti504
  • Registratie: Februari 2005
  • Laatst online: 30-11 20:31

Basti504

Niet de enige, wel de echte.

Patch systemen, heb laatst een applicatie geschreven met een auto-update, als in, de applicatie download een versie beheerbestand (XML) en leest daaruit de meest recente versie. Is client versie kleinder dan actuele versie, dan wordt er gevraagt om de update setup te downloaden. En word de setup gerunt en voila, programma uptodate.

Hier een voorbeeld van het bestand. Ik bied ook een changelog aan om mensen een beetje het idee te geven wat er veranderd is :)

XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<versieinfo>
  <info>
    <versie>4.0.3.1</versie>
    <build>14-7-2007</build>
    <downloadlink>http://members.home.nl/harry.bastiaansen/AdressenProgrammaPro4031Update.exe</downloadlink>
  </info>  
<!--  
0 - FIXED
1  - ADDED
2 - CHANGED
  -->
  <veranderingen>
    <type>0</type>
    <omschrijving>Sneltoetsen in adreslijst</omschrijving>
  </veranderingen>
  <veranderingen>
    <type>1</type>
    <omschrijving>Verberg groepenlijst</omschrijving>
  </veranderingen>

</versieinfo>


Ik heb mijn programma een beetje modulair opgesteld, als in alle dataverwerkingen zitten in Dataverwerking.dll en alle basis functies (mail, extren aanroepen website) zitten in Basisfuncties.dll. Zo zou ik allleen 1 dll kunnen aanbieden via de autoupdate. Maar omdat mijn programma totaal 2 MB is heb ik het update package, precies hetzelfde gehouden als de volledige setup, maar met zonodig een converter meegelevert.

[ Voor 69% gewijzigd door Basti504 op 16-08-2007 21:09 ]

...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 14:23

gorgi_19

Kruimeltjes zijn weer op :9

Daarvoor zou je ook met BITS kunnen werken :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 30-11 19:45

TeeDee

CQB 241

Verwijderd schreef op donderdag 16 augustus 2007 @ 20:50:
msh dat ik dat maar beter doe ook. Het zal sowieso niet echt overdreven groot worden en dan kan ik beter m'n tijd steken in het programma zelf dan dit uit te vissen :), thx anyway
Waarom zou je? Het kan geen kwaad om te leren hoe je zoiets aanpakt. Zelf wil ik het ook nog eens gaan doen, alleen > tijd, tijd, tijd, tijd.

Al is je programma < 1 MB, is het toch leuk/leerzaam om er mee te spelen hoe je zoiets aanpakt?

Heart..pumps blood.Has nothing to do with emotion! Bored


  • ZaZ
  • Registratie: Oktober 2002
  • Laatst online: 27-11 15:14

ZaZ

Tweakers abonnee

Ik zou zelf ook voor het vervangen van bestanden gaan.
Als je toch wilt kijken is wellicht ApplyPatchToFile en CreatePatchFile wat voor je.
Zit standaard ingebakken in WinXP en later. Het maakt best 'slimme' updates.
Stel je voor; je hebt bestand van 100 MB en je plakt er 1 byte voor zodat alles zegmaar 1 byte opschuift. Dan verander je hier en daar in de file een paar bytes en als je dan CreatePatchFile gebruikt met een voor-en-na bestand, dan is je update file maar een paar bytes groot.

Om CreatePatchFile te gebruiken moet je wel de Windows SDK installeren, maar de client hoeft dat uiteraard niet te doen om te updaten.

Toch, als je het kan oplossen met het simpelweg vervangen van bestanden is dit aan te raden.
Stel je het volgende scenario eens voor:
User A en B hebben versie 1.0 en jij maakt een update naar 1.1
User A blijft thuis en heeft optijd de update binnen.
User B ging lekker op vakantie (welverdiend uiteraard :P) en komt pas thuis wanneer jij update 1.2 al de deur uit hebt gedaan.
Dan gaat ApplyPatchToFile op z'n bek.

Natuurlijk is dat ook allemaal wel weer te managen, maar het is meer error-prone als je het niet juist doet en met gewoon vervangen is dat toch alweer een stuk minder.

Meer info hier

Lekker op de bank

Pagina: 1