Zarządzasz wieloma stanowiskami WAPRO ERP? Zastanawiałeś się kiedyś jak wykonać automatyzację procesu aktualizacji?

Poniżej opiszę 2 metody dotyczące takiego procesu bo należy go rozgraniczyć na 2 zagadnienia:

  1. Dostarczenie ewentualnej poprawki w formie pliku (np. dll, exe, rpt, itp.)
  2. Wgrywanie nowej wersji czyli aktualizacja programu

Aktualizacja

Wgrywanie nowej wersji może się odbywać ręcznie poprzez klasyczne uruchamianie instalatora i jego przeklikanie w kreatorze, w ramach uproszczenia jeśli nie zmieniamy parametrów instalacji a konkretniej rzecz ujmując katalogu instalacji można wybrać opcję Szybko aktualizuj (pomiń ekrany).

Oczywiście jeśli mamy kilkanaście lub kilkadziesiąt stanowisk to żadna automatyzacja, jakie mamy zatem inne opcje?

To zależy od tego czy środowisko jest oparte o domenę Active Directory (AD) czyli posiada możliwość centralnego zarządzania komputerami lub też oparte jest o grupę roboczą gdzie każda stacja robocza jest niezależna.

Jeśli korzystasz z AD to w ramach aktualizacji możesz wykorzystać instalację poprzez Group Policy Object (GPO) czyli podpinanie reguł np. (w uproszczeniu) „Zainstaluj przy coś przy logowaniu do systemu”.

Czym będzie owe coś? Zapewne pakietem MSI, który został wyodrębniony z instalatora programu.

Jeśli nie posiadasz domeny to musisz sam zadbać o automatyzację poprzez np. uruchamianie skryptu. Właśnie dokładniej rozpiszę ten przypadek. Wyobraźmy sobie taką konfigurację naszej sieci.

  • posiadamy serwer plików (Windows, lub jakiś NAS sieciowy lub cokolwiek innego do czego możemy się dobrać poprzez udział sieciowy Windows) w naszym przypadku niech będzie to serwer dostępny pod nazwą SerwerPlikow o adresie 192.168.1.200 – mapujemy go w systemie pod literką Z
  • posiadamy komputer np. nasz, na którym pracujemy i z niego wykonujemy część operacji
  • posiadamy X komputerów w sieci, które mają być aktualizowane

Co musimy zrobić? W uproszczeniu pobrać program, wypakować go na sieć, wywołać instalator ze skryptu. Teraz po kolei.

  1. Pobieranie programu – wykonujemy je oczywiście za pomocą PobieranieWapro.exe czyli na stronie www.wapro.pl wybieramy pobierz aktualizację > pobierz instalator następnie zaznaczamy programy do instalacji i je pobieramy do wskazanej lokalizacji, którą możemy ustawić w opcji Konfiguracja u mnie w przykładzie to C:\Users\Administrator\Downloads\WAPRO_DOWNLOAD
  2. Po pobraniu i rozpoczęciu instalacji możemy przerwać proces ponieważ póki co chcemy pozyskać plik instalacji bez jego instalacji
  3. Przygotowujemy skrypt do automatyzacji wypakowania pliku MSI do sieciowej lokalizacji, w tym celu posługujmy się skryptem który ma następującą postać

C:\Users\Administrator\Downloads\WAPRO_DOWNLOAD\wapromag.exe /a /v/qn
forfiles /P z:\instalka\MagMSI /M *.* /C "cmd /c del @path"
xcopy /e /y C:\WAPRO_MAG_INSTALL_AD_FILES z:\public\instalka\MagMSI

Pierwsza linijka odpowiada wypakowanie pliku exe do składowych pakietu instalacyjnego, zawsze będzie to stała lokalizacja dla każdego programu C:\WAPRO_<program>_INSTALL_AD_FILES dla maga WAPRO_MAG_INSTALL_AD_FILES dla fakira WAPRO_FAKIR_INSTALL_AD_FILES itp.

Druga linijka to wymuszenie wyczyszczenia folderu wspólnego na sieci z poprzedniej wersji instalacyjnej (oczywiście za pierwszym razem poinformuje nas, że folder jest pusty i nic nie usunięto).

Trzecia linijka odpowiada za przeniesienie tego pakietu instalacyjnego na sieć abyśmy mieli do niego dostęp z każdego stanowiska. Taki skrypt zapisujemy jako skrypt .bat/.cmd i po uruchomieniu mamy już gotowy wzorcowy instalator na sieci.

Ostatnia faza to uruchomienie instalatora na stanowisku użytkownika w celu przeprowadzenia procesu instalacji. W tym celu tworzymy kolejny skrypt .bat/.cmd, który to uruchomi z sieci pakiet MSI i przeprowadzi instalację. Odbywa się to za pomocą kodu
msiexec /i "z:\instalka\MagMSI\WAPRO Mag.msi" /qb

Takie polecenie spowoduje zainstalowanie programu do domyślnej lokalizacji czyli „C:\Program files (x86)\WAPRO\WAPRO Mag” jeśli chcesz zmienić lokalizację instalacji możesz wywołać dodatkowo przełącznik INSTALLDIR, który powinien otrzymać finalny folder, do którego mają być zainstalowane aplikacje.
msiexec /i "z:\instalka\MagMSI\WAPRO Mag.msi" INSTALLDIR="C:\WAPRO\WAPRO Mag" /qb

Tak przygotowany plik możemy teraz rozdystrybuować na stanowiska klienckie i po uruchomieniu tego skryptu uruchomi się proces aktualizacji bez zbędnych okienek, na których trzeba potwierdzać proces aktualizacji. Można oczywiście uruchamiać go samemu, można zrobić skrót na pulpicie dla użytkownika aby sam uruchomił proces wtedy kiedy mu to wskażemy (oczywiście musi posiadać odpowiednie uprawnienia do instalacji programów na swoim stanowisku). Lub jeśli mamy domenę to wywołać skrypt instalacji w GPO.

Metoda ta może być z powodzeniem wykorzystywana do momentu kiedy nie należy dostarczyć do systemu dodatkowych komponentów (np. może nie zadziałać program po instalacji w przypadku gdybyśmy tą metodą chcieli zainstalować nowe stanowisko, które nie ma np. odpowiednich komponentów Crystal Reports).

Wykorzystując dodatkowo możliwości parametrów wiersza poleceń modułu administrator.exe można także przygotować skrypt aktualizacji bazy danych po uruchomieniu procesu aktualizacji programu na serwerze.

W kolejnym wpisie opisze kwestie związane z dystrybucją poprawek.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.