Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Klienter som uppdaterar sig själva

Postades av 2007-03-31 19:01:49 - Mikael Wikman, i forum vb.net, Tråden har 7 Kommentarer och lästs av 778 personer

Jag arbetar på ett system med en server och flera klienter. Klienterna behöver ibland uppdateras på grund av förbättringar (till exempel buggar).
Klienten laddar själv ned nya versioner av klienten (sig själv), detta är inget problem.

Här kommer mitt dilemma: Klienten ska nu byta ut sig själv mot den nya klienten och sedan starta sig den nya, vilket är omöjligt då klienten måste vara avstängd under utbytet.
En lösning vore att ha ännu ett program som sköter själva utbytet. Men det är inte heller bra, eftersom då krävs ännu mer kod för att sedan uppdatera uppdateraren (ifall det behövs).
Bättre vore att låta klienten skriva ett tillfälligt skript som sedan utför bytet under tiden klienten är avstängd.

Säkerligen måste det finnas någon som vet hur man ska göra detta på bästa sätt. Detta är ju inget ovanligt problem.


Tack på förhand


Svara

Sv: Klienter som uppdaterar sig själva

Postades av 2007-03-31 21:13:44 - Per-Olof Ohlsson

Precis som du skriver går det ju inte att byta ut exe-filen genom att skriva över den.

Men däremot kan man byta namn på den.

Jag har löst detta så att klienten laddar hem den nya versionen under ett annat namn t.ex. xxx.ex_

Sedan byter jag namn på xxx.exe till xxx.old
och sedan nytt namnbyte på xxx.ex_ till xxx.exe

Sedan uppmanar jag användaren att avsluta och starta om applikationen.
Den delen kan man kanske också automatisera men så långt vill jag inte gå i min applikation.

Glöm bara inte att allra först radera en ev gammal xxx.old annars blir det problem.

[EDIT] OOps, tänkte inte på att detta var .net forumet, min lösning fungerar i vb6, har inte testat i .net.


Svara

Sv: Klienter som uppdaterar sig själva

Postades av 2007-03-31 21:14:35 - Lars Gottfridsson

Jag funderar på om det skulle funka att ha huvudelen av programlogiken i en separat dll som
efter nedladdning blir basklassen för huvudprogrammet. Det som krävs då är väl att huvudprogrammet
har en funktion där den laddar ner denna uppdatering under unikt namn, ev. raderar föregångaren och sedan låter referensen till basklassen peka på denna nya dll. Aldrig testat detta, men borde funka!
Kan bli problem om du vill registrera den i GAC:en under gemensamt GUID.


Svara

Sv:Klienter som uppdaterar sig själva

Postades av 2007-03-31 21:52:47 - Mikael Wikman

Precis som Per skrev hade jag tänkt göra det, förutom att denna måste vara automatiserad (ett krav!).
Och det är just den biten som det blir problem eftersom jag måste då ha någon kod i annat program (eller dll), vilket jag inte heller vill eftersom då måste möjlighet att uppdatera just den koden (uppdateraren) också.

Det är fullt möjligt att klienterna kommer vara helt självgående i flera dygn, och ska inte kräva någon användare som underhåller dem.


Svara

Sv: Klienter som uppdaterar sig själva

Postades av 2007-03-31 23:44:31 - Oskar Johansson

Mitt väldigt kreativa förslag: Gör en dll som uppdaterar, och den dll:en är den som skickas ut (ev. tillsammans med själva uppdateringen.) Dll:en uppdaterar sedan programmet. På så vis slipper du bry dig om att uppdateraren måste uppdateras ;)


Svara

Sv:Klienter som uppdaterar sig själva

Postades av 2007-04-01 10:00:24 - Mikael Wikman

Ja det vore ju ett sätt! Alternativt då att ladda ned o köra nya klienten med någon parameter, så den kopierar sig själv och sedan kör kopian. Klockrent!


Svara

Sv: Klienter som uppdaterar sig själva

Postades av 2007-04-01 12:28:59 - Ola Lindfeldt

Varför uppfinna hjulet igen? Titta på ClickOnce Deployment (dotnet 2.0)
Det fungerar utmärkt.


Svara

Sv:Klienter som uppdaterar sig själva

Postades av 2007-04-02 13:18:13 - Per-Olof Ohlsson

För att starta om programmet efter att allt laddats hem skulle man kunna låta applikationen skapa ett event i schedulern med trig strax efter nu som startar om applikationen.

I en annan tillämpning som går obevakad har jag ett skript som körs med visst interval av schedulern och som kollar att appen går, om inte startas den. Det beror ju på hur länge du kan acceptera att appen är nere vid en omstart.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
406
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies