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

[windows] service zichzelf updaten

Pagina: 1
Acties:

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 17:34
heb een bepaalde service draaien die wat controles uitvoert op een windows XP machine. Geregeld komt er een nieuwe versie van.

Aan een mysql DB kan de service zelf vragen wat de laatste versie is en dit controleren met zijn eigen versie nummer. Hoe zorg ik er voor dat de Service zich dan zelf stopt, de nieuwe exe er overheen copieerd en weer start?

Is dit alleen mogelijk een extra myServiceUpdate service? Heb liever alles in 1 service, maar is dat mogelijk?

  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 17:34
zal dus niet zo makkelijk kunnen aan de reacties te zien :)

  • barry457
  • Registratie: December 2005
  • Laatst online: 12-11 13:43
Nieuwe service die de service stopt. update en alles uitvoert en op het eind weer de service start denk ik zo.

Zou handig zijn als je wat meer info had met welke taal je dit bijvoorbeeld doet/wil doen. Is nu nog een beetje gissen.

Je kan ook nog een script maken en die als scheduld job draaien. Deze kan dan alles voor je doen zoals je vraagt.

Verwijderd

Firefox doet het volgens mij anders.
- Update klaar zetten in temp-folder
- Tijdens opstarten in aparte executable controleren voor updates en indien aanwezig, over de rest heen kopieren

Je kunt dus nooit de update-executable updaten, omdat die in gebruik is.

  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 22:51

leuk_he

1. Controleer de kabel!

Verwijderd schreef op dinsdag 11 juni 2013 @ 12:33:
Firefox doet het volgens mij anders.
Mozilla maintenace service. Alleen van een service weet je zeker dat die geneog rechten heeft om executable te updaten....De manier die jij beschrijft kan firefox denk ik ook nog.

Wat kun je eigenlijk met de windows installer service?

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Ik heb iets dergelijks gedaan door de service .exe eigenlijk niks anders te laten zijn dan een executable die een .dll load. Die kijkt gewoon of er een nieuwe versie is. Zo ja; dan verwijdert die .exe de oude .dll, renamed de nieuwe, en load deze dan. Moet je alleen wel de service laten herstarten maar dat kan prima met een chronjob iedere avond ofzo.

https://niels.nu


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 22:51

leuk_he

1. Controleer de kabel!

Hydra schreef op dinsdag 11 juni 2013 @ 14:00:
Ik heb iets dergelijks gedaan door de service .exe eigenlijk niks anders te laten zijn dan een executable die een .dll load. Die kijkt gewoon of er een nieuwe versie is. Zo ja; dan verwijdert die .exe de oude .dll, renamed de nieuwe, en load deze dan. Moet je alleen wel de service laten herstarten maar dat kan prima met een chronjob iedere avond ofzo.
Eeh, als je toch iets even met een cron job doet, kun je daar ook de service stoppen, de exe file vervangen, en de service starten....

En verder, ik kan niet zo goed zoektermen vinden, maar iemand anders zal dat toch vast al een keer gemaakt hebben en als freeare/open source gedistribueerd...
zoiets...
Wikipedia: Comparison of open-source configuration management software

Wellicht een beetje overkill op het eerste gezicht:
Wikipedia: Opsi

[ Voor 5% gewijzigd door leuk_he op 11-06-2013 15:20 ]

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • trekker22
  • Registratie: Maart 2003
  • Laatst online: 17:34
ja allemaal prima oplossingen, had liefst gehad als puur alleen in 1 exe en ook tijdens het al runnen...

eens zien waar ik voor kies!

EDIT

taal is VB.NET maar verder moet dit toch weinig uitmaken lijkt me...

[ Voor 22% gewijzigd door trekker22 op 11-06-2013 17:05 ]

Pagina: 1