Bartek Szafko

all of the bits and pieces

Aktualizacje od strony użytkownika

without comments

Aktualizowanie aplikacji to moim zdaniem ważne zagadnienie. Bardzo często aplikacja podlega ciągłym zmianom, dodawane są nowe funkcjonalności, naprawiane błędy(oczywiście:) ). Istotne jest to, w  jaki sposób taką aktualizację widzi użytkownik.

Przykład Firefox

Najlepszą aktualizację jaką do tej pory widziałem ma Firefox, jest tak zrobiona, że dla użytkownika( z domyślną konfiguracją) jest praktycznie przeźroczysta. Jedyne co zauważa to wyjeżdżające okno powiadomienia o nowej wersji, gdy już jest ściągnięta i gotowa do instalacji. Co ciekawe nowsza wersja ściąga się w taki sposób, że podczas przeglądania stron praktycznie tego nie widać. A sam Firefox aktualizuje się podczas następnego uruchomienia.

Jak to zrobić – jak w firefox

W windows jest ciekawy mechanizm, który pozwala zrealizować mało przeszkadzający użytkownikowi transfer plików nazywa się BITS – Background Intelligent Transfer Service. To właśnie tego mechanizmu używa Windows Update do pobierania aktualizacji. Z ciekawych rzeczy, które potrafi BITS to między innymi ponowienie zerwanego transferu od właściwego miejsca i wznowienie po restarcie. BITS potrafił używać Update Application Block, niestety został porzucony przez twórców, ale nadal można go znaleźć na codeplex ( trunk-updater).

A w Mini-Korpo

W korporacji potrzebna jest kontrola nad tym, która wersja aplikacji jest używana. Model stosowany w firefoxie nie sprawdzi się. Najłatwiej jest, gdy w firmie jest jakieś super-mega-hiper rozwiązanie do zarządzania stacjami klienckimi, ale mogą sobie na to pozwolić tylko duże przedsiębiorstwa.

Kolejnym rozwiązaniem mogłoby być zapakowanie produktu w msi(oczywiście przy pomocy WiX) i instalowanie z polityk grupowych. Jest to niepraktyczne  i wymagało by restartu maszyny klienckiej, żeby wykonała się aktualiazacja.

Tym co z reguły stosuje w takich wypadkach to zwykły ClickOnce. W korpo z reguły nie musimy się też pasmem, aktualizacje są ściągne lokalnie, więc nie trzeba sie bawić BITS. W ClickOnce można oprogramować sprawdzanie nowej wersji i np wymusić restart aplikacji. W ostateczności można polegać całkowicie na wbudowanym mechaniźmie aktualizowania przed uruchomieniem. image

Miłym akcentem jest to, że ClickOnce może zainstalować także wymagane komponenyt np: .NET, Sql, czy co tam jeszcze jest potrzebne.

image image

A co najlepsze to wszystko da się zrobić za darmo.

Badam też możliwość tworzenia pakietów instalacyjnych aplikacji .netowych ( w mono) na platformy linuxowe. Tutaj problem jest bardziej złożony – trzeba stworzyć pakiety linuxowe np .rpm albo .deb. Na szczęście serwer CI – Hudson, który mi się ostatnio spodobał pozwala na odpalenie nodów linuxowych :)

Inne podobne artykuły:

Written by Bartłomiej Szafko

Październik 30th, 2009 at 8:16 pm

1 Trackbacks/Pingbacks

  1. dotnetomaniak.pl

without comments to “Aktualizacje od strony użytkownika”

Subscribe comments with RSS. TrackBack URL.

Leave a Reply