mmmm grupna instalacija :)))) zvuci sexy ovo "grupna"
Ako ti treba, imam ja klasu AutoUpdater koja se sastoji od webservisa i lokalnog klienta. Mogu da ti dam kompletan source sa sve .sln i testovima.
Fora je sledeca, startuje se klient aplikacija i poziva web service da pogleda da li treba update. Tu mozes da ugradis autentikaciju, version check i kakve zelis opcije, meni je recimo trebalo jer klienti koji ne placaju maintenance ne dobijaju upgrade :))).
Ako web service vrati True na IsNeedingUpdate on gasi klient aplikaciju i izvrsava AutoUpdater i salje mu par promenjivih, recimo username, password i adresu za web service.
Ta AutoUpdater aplikacija onda uzima MD5 svih fajlova u app folderu i poredi ih sa direktorijem na serveru (ASP.NET vraca MD5 kao dataset preko SOAP-a) i update-je fajlove po potrebi, odnosno dll koji su izmjenjeni.
Download se vrsi async, moze se zatvoriti, nema kocenja ui-a i fajlovi se nece update-ovati sve dok se ne skinu sve fajlovi. Tek onda se vrsi izmjena iz "fajlname.dll.new" u "fajlname.dll".
Ima opcija da se stari fajlovi obrisu kao i sacuvaju pod "old_file_name.dll.old".
Veoma cisto.
Moze da se konfigurise po potrebi itd, ima i malu helper aplikaciju, nije sto je moja :)) ali sve u svemu veoma korisna stvar. Ja sam gledao microsoft-ov Updater Application Blocks i nisam se bas usrecio, imas
http://www.codeproject.com/vb/net/autoupdate.asp ali su mi nedostajale neke opcije pa sam odlucio da napisem sve iznova. Uzelo mi je dan-dva ali radi kao sat tako da ti mogu dati.
Cijena, sitnica :))))
Mislim da cu da postavim sve na sourceforge, samo trebam da dodam opciju da se update-je sa lan-a, ovako radi samo preko interneta.
Problem ostaje ovo sto je rekao mmix a to je database update, moraces to nekako sinhronizovati, to zavisi od tipa klient-databaze modela koji koristis. Veoma je tesko update-ovati sve kliente odjednom, cak i ako imas recimo neki backgroundworker koji provjerava svakih x minuta cak i ako je aplikacija otvorena, opet ces imati "compatibility issues".
http://www.pro-transport.com - The most advanced trucking software on the market