Live-update maken voor applicatie

Pagina: 1
Acties:

  • Toink
  • Registratie: Januari 2000
  • Niet online
Hoi allemaal,

Ik zit na te denken over het maken van een live-update functie. Degenen die hier al eens over nagedacht hebben (als die hier rondhangen) zullen ongetwijfeld gemerkt hebben dat hier veel werk bij komt kijken.

Mijn concrete vraag is of iemand toevallig weet of hier een compleet framework voor te koop is of iets dergelijks. Ik heb al gezocht via google en via de site van M$ maar zodra je de term live-update invoert krijg je allemaal hits die er niets mee te maken hebben.

Wie kan mij hier meer over vertellen?

  • cutter
  • Registratie: November 2000
  • Laatst online: 28-09-2025

cutter

Wannabe i7 fanboy

HUH, wat is een live update ueberhaupt.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Als je bedoelt wat ik denk dat je bedoelt dan moet je in P&W zijn :)

Dus leg uit.

  • Toink
  • Registratie: Januari 2000
  • Niet online
Het zou ook kunnen passen in P&W maar die beslissing vond ik nogal lastig te nemen in dit geval. Een live-updat is hetzelfde principe als 'windows-update' en de auto-update van je virusscanner.

Dit is een internetgebaseerd gebeuren waarin je bestaande installatie gecontroleerd wordt en aan de hand van dat wordt een lijst met updates samengesteld. Selecteer de updates die je wilt hebben en dan installeer je ze. Het systeem mag haar integriteit niet verliezen dus er moet een 'back'-functie zijn die alle acties ongedaan maakt.

Hopelijk is het zo duidelijker. Als iemand vindt dat het dan toch in P&W hoort -> moven dan :)

  • cutter
  • Registratie: November 2000
  • Laatst online: 28-09-2025

cutter

Wannabe i7 fanboy

Kijk eens naar crisps Forum tracker, daar zit het ook in dacht ik.
http://u4.nl/got/

  • eamelink
  • Registratie: Juni 2001
  • Niet online

eamelink

Droptikkels

Het heeft igg nix met design of Javascript te maken, dus ik denk dat de /14 rakkers je wel kunnen helpen :)

Welke onderdelen bestaan er nu al? Kan je bijvoorbeeld al losse updates installeren? Ik denk dat je dat wel moet opsplitsen. 1 deel dat de installatie en eventuele deinstallatie van updates verzorgt, en een gedeelte dat de updates van internet trekt.

Als je alle updates een id meegeeft, dan kan je de id's van alle updates die gedraaid zijn doorsturen naar je server, en aan de hand daarvan een lijst met beschikbare updates weergeven, die gedownload kunnen worden.

Als ze eenmaal binnen zijn, komt het op het gedeelte aan dat de updates installeert.

Als je nog helemaal niet hebt, zou ik eerst iets maken waarmee je uberhaupt updates kan installeren en deinstalleren :)

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Dat gaat allemaal middels ActiveX. De updates hebben via die ActiveX ook de mogelijkheid om in de software add/remove te komen in config panel.

Met alleen Javascript/PHP oid kom je er echter niet.. Je kunt dan namelijk niet kijken welke versie je hebt en wat je nodig hebt op het client systeem. Makkelijkste lijkt me overigens om dit gewoon in bijvoorbeeld VB/C++/Delphi te doen als het om een programma gaat. Lijkt me gebruikersvriendelijker en makkelijker.

Alles wijst naar P&W iig :) Dus zie je daar. Misschien dat zij weten of er al standaard oplossingen voor zijn en/of wat je het beste kunt doen.

Move W&G -> P&W

  • Toink
  • Registratie: Januari 2000
  • Niet online
eamelink schreef op 31 juli 2002 @ 09:12:
Het heeft igg nix met design of Javascript te maken, dus ik denk dat de /14 rakkers je wel kunnen helpen :)
Oke... ik lees dat ie al gemoved gaat worden dus dan komt dat vanzelf al :).
Welke onderdelen bestaan er nu al? Kan je bijvoorbeeld al losse updates installeren? Ik denk dat je dat wel moet opsplitsen. 1 deel dat de installatie en eventuele deinstallatie van updates verzorgt, en een gedeelte dat de updates van internet trekt.
Eigenlijk bestaat er nog niets. Ik moet het maken en bedenken dus jouw ideeen zijn welkom!
Als je alle updates een id meegeeft, dan kan je de id's van alle updates die gedraaid zijn doorsturen naar je server, en aan de hand daarvan een lijst met beschikbare updates weergeven, die gedownload kunnen worden.

Als ze eenmaal binnen zijn, komt het op het gedeelte aan dat de updates installeert.

Als je nog helemaal niet hebt, zou ik eerst iets maken waarmee je uberhaupt updates kan installeren en deinstalleren :)
Daar heb je gelijk in maar voor het installeren kun je toch gewoon Innosetup of Wise oid gebruiken in een /verysilent modus?

  • Vigory
  • Registratie: November 2000
  • Laatst online: 15-04 10:26
Ik weet niet waarin je programmeert maar voor Delphi en Borland C++ staan hier een heleboel dingen die doen wat jij wil:
http://www.torry.net/webupdate.htm

  • Toink
  • Registratie: Januari 2000
  • Niet online
Bosmonster schreef op 31 juli 2002 @ 09:22:
Dat gaat allemaal middels ActiveX. De updates hebben via die ActiveX ook de mogelijkheid om in de software add/remove te komen in config panel.
Ik ben al de nodige informatie aan het verzamelen hierover. Bedankt!
Met alleen Javascript/PHP oid kom je er echter niet.. Je kunt dan namelijk niet kijken welke versie je hebt en wat je nodig hebt op het client systeem. Makkelijkste lijkt me overigens om dit gewoon in bijvoorbeeld VB/C++/Delphi te doen als het om een programma gaat. Lijkt me gebruikersvriendelijker en makkelijker.
Zou het niet handiger zijn als ergens op de hd van de gebruiker een file staat met daarin de ID's van de updates die hij geinstalleerd heeft? Of kun je met activex geen bestanden lezen/schrijven uit veiligheidsoverwegingen?

  • Toink
  • Registratie: Januari 2000
  • Niet online
Vigory schreef op 31 juli 2002 @ 10:10:
Ik weet niet waarin je programmeert maar voor Delphi en Borland C++ staan hier een heleboel dingen die doen wat jij wil:
http://www.torry.net/webupdate.htm
De programmeertaal voor mijn project staat nog niet vast. (toch liefst .net-based) Het is ook niet een 'running' application die bijgewerkt wordt maar het gaat gewoon om een x-aantal files die voor zover ik weet gewoon overschreven/geback-upped kunnen worden.

  • De-Fault
  • Registratie: Februari 2001
  • Laatst online: 23-10-2025
de term live-update wordt alleen door Norton AV gebruikt hoor, maar dergelijke dingen staan op www.programmersheaven.com (bestanden automatisch controleren->downloaden->installeren)

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je kan het ook heel simpel zelf maken in elke programmeer taal.

Laat je programma gewoon een file downloaden (ftp/http) waar het huidige versie nummer instaat. Dan vergelijkt het programma het nummer met zichzelf en als het niet gelijk is gaat start ie een browser die dan naar de update pagina gaat. Of je zet in het bestandje van welke locatie de nieuwe versie kan downloaden.

We adore chaos because we like to restore order - M.C. Escher


  • gotcha
  • Registratie: Oktober 1999
  • Laatst online: 29-07 18:20
De programmeertaal voor mijn project staat nog niet vast. (toch liefst .net-based) Het is ook niet een 'running' application die bijgewerkt wordt maar het gaat gewoon om een x-aantal files die voor zover ik weet gewoon overschreven/geback-upped kunnen worden.
nog even wat inside info om het wat duidelijker te maken:
het gaat in eerste instantie om een applicatie gemaakt in vb6 bestaande uit een exe en een aantal dll's. op het moment dat de app. niet draait is het dus inderdaad een kwestie van de bestanden overschrijven en de nieuwe versies van de dll's even registreren.

de betreffende app maakt gebruik van een sql server database waaraan nog wat serverside-componenten hangen. wanneer er wijzigingen worden doorgevoerd op de server moeten in een aantal gevallen ALLE clients geupdate worden voordat het spul weer goed kan draaien. de serverside update mag dus alleen plaatsvinden als de applicatie op geen enkele client meer draait, en wanneer een server-update heeft plaatsgevonden mag de client app pas gestart worden nadat de client update is gedownload en geinstalleerd.

wat betreft het platform: er zijn (helaas) nog steeds klanten die de betreffende client app. draaien op windows 95. het clientside-deel kun je dus niet met .NET maken (.NET framework draait op win98 en hoger), het serverside gedeelte misschien wel.

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 13:23

Tomatoman

Fulltime prutser

Ik heb ooit eens een applicatie gemaakt die als volgt een live update uitvoerde.
1) De afzonderlijke update-applicatie wordt gestart. Dit kan eventueel vanuit het hoofdprogramma gebeuren. Als dat hoofdprogramma nog draait, wordt het afgesloten.
2) De update-applicatie haalt van een website een tekstbestandje, waar alle beschikbare updates en hun weblocatie in staan. Dit bestandje kun je als ontwikkelaar regelmatig aanpassen en de updates kun je gemakkelijk naar een andere website verplaatsen.
3) De update-applicatie vergelijkt de aanwezige bestandsversies met de beschikbare updates. Alleen de benodigde updates worden gedownload.
4) De updates worden geinstalleerd. (In mijn applicatie werd de oude executable eenvoudigweg overschreven door de nieuwste versie.)
5) De software is weer up to date. Hij wordt gestart en de update-applicatie wordt afgesloten.

In Delphi kon ik dit allemaal in minder dan 50 regels code uitvoeren. Volgens mij valt een eenvoudige live update dus wel mee. En mocht je live-updateprogramma problemen hebben, dan laat je er toch gewoon een live update op los? :9

Een goede grap mag vrienden kosten.


  • -Klimaks-
  • Registratie: Maart 2001
  • Laatst online: 01-09 11:00
Heb op een presentatie van VS.Net is gezien dat er een standaard componentje voor was in Visual Studio. ff zien of ik er iets van kan vinden.

-edit-
Hier moet die ergens tussen staan, denk ik.

-edit2-
|:( lees juist dat de client niet in .NET kan geschreven worden. Dan zal dit natuurlijk niet werken. sorry

-edit3-
Voor de geïntresseerden: het bewuste component is "AppUpdater.dll" en een demo is te vinden in deze zip

In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Bosmonster schreef op 31 juli 2002 @ 09:22:
Dat gaat allemaal middels ActiveX. De updates hebben via die ActiveX ook de mogelijkheid om in de software add/remove te komen in config panel.

Met alleen Javascript/PHP oid kom je er echter niet.. Je kunt dan namelijk niet kijken welke versie je hebt en wat je nodig hebt op het client systeem. Makkelijkste lijkt me overigens om dit gewoon in bijvoorbeeld VB/C++/Delphi te doen als het om een programma gaat. Lijkt me gebruikersvriendelijker en makkelijker.

Alles wijst naar P&W iig :) Dus zie je daar. Misschien dat zij weten of er al standaard oplossingen voor zijn en/of wat je het beste kunt doen.

Move W&G -> P&W
Dit kan dus wel met javascript; ik doe dit zoals cutter al opmerkte inderdaad in de GoT Tracker (jammer dat cutter er een link bijzette die verwijst naar de website waar versie 2.48 nog opstaat terwijl ik al op versie 2.66 zit ;) )
Het idee is heel simpel; bij de tracker zit een javascript bestandje waarin de huidige versie, de release timestamp en een link naar een javascriptje op mijn webspace staan. Het javascriptje op mijn webspace bevat de versie, release timestamp en een link naar de laatste versie.
als ik in een hidden frame deze 2 javascriptjes include en de timestamps en versies met elkaar vergelijk weet ik dus of er een nieuwere versie is, en kan ik een popupje laten verschijnen met daarin de link naar de nieuwste versie.
Het updaten moet de gebruiker dus nog wel zelf doen...

Intentionally left blank

Pagina: 1