Warsztat 3: Automatyczna aktualizacja bieżącego programu do nowej wersji (cz. 2).

AktWer1.mdb (program oparty na skrypcie VBS)
Autor: Krzysztof Pozorek
Baza w formacie MsAccess 2000
34kB, 16-04-2006

AktWer2a.mdb (program usuwa sam siebie i na swoje miejsce kopiuje nowa wersję :-)
Autor: Krzysztof Pozorek
Baza w formacie MsAccess 2000
38kB, 16-04-2006

AktWer3.mdb (wersja. zmodyfikowana przez Marcina Ziemiana)

Opis:

Jak sprawnie wgrać użytkownikom nową wersję naszej aplikacji? W przypadku firmy wielooddziałowej - to prawdziwe przedsięwzięcie. A może dałoby się to zrobić automatycznie i programowo? Pomysł jest prosty: Nową wersję wystawiamy na wspólnym zasobie sieciowym, a już aplikacja sama się aktualizuje. Tak, pomysł jest prosty.... Niestety realizacja już nie koniecznie ;-)

Access nie ma wbudowanych mechanizmów, które by nam ułatwiały to zadanie, ale... może sa jakieś niewbudowane?. Dzisiaj chce przedstawić dwa nowe sposoby na automatyczną aktualizacje naszej aplikacji.

AktWer1 - Program wykorzystuje skrypt VBA, który łączy się naszą aplikacją, a następnie zamyka bieżącą bazą i otwiera nową wersję. Dzięki skryptowi wszytko dzieje się w tej samej sesji Accessa(!), co nie byłoby możliwe do uzyskania standardowymi metodami.

AktWer2a! - To z pewnością zaskakujące rozwiązanie :-) i raczej się z tym nie spotkaliście. Program usuwa sam siebie i na swoje miejsce kopiuje nowa wersję :-) Niemożliwe? A jednak! W dodatku wszystko w jednej sesji Accessa i bez żadnych zewnętrznych skryptów. Z pewnością to rozwiązanie przeczy logice, bo nie można przecież usunąć z dysku bieżącej, otwartej bazy... No chyba, że jest się na stronie o magicznych sztuczkach w Accessie ;-)
UWAGA: Program AktWer2a w obecnej wersji wypadł w testach niestabilnie. Być może uda się ulepszyć tę metodę, na razie nie mam dobrej realizacji dla tego pomysłu. Kłopot jest też taki, że to absolutnie nietypowa metoda i wymaga testów w różnych niestandardowych konfiguracjach, żeby ocenić jej praktyczną przydatność.

AktWer3 - Wersja zmodyfikowana przez Marcina Ziemiana. Marcin połączył oba powyższe rozwiązania. Więcej tutaj.

Krzysztof Pozorek

P.S. Porównaj z rozwiązaniami na stronie war209.htm i wybierz dla siebie najbardziej odpowiednie.