Windows Installer – Wstęp

Windows Installer zadebiutował po raz pierwszy w 1999 roku wraz z pojawieniem się Microsoft Office 2000. Od tego momentu stał się obowiązującym standardem w procesie instalacji oprogramowania oraz integralną częścia systemu Windows. W przeciągu lat doczekał się kilkunastu wersji, poszerzających jego funkcjonalność i wykorzystujących nowinki dostępne w kolejnych wydaniach systemu operacyjnego Windows. Aktualną wersją jest wersja 5.0 wchodząca w skład Windows 8 oraz Windows Server 2008 R2. Starsze systemy takie jak Windows Vista oraz Windows Server 2008 standardowo zawierają wersję 4.0, Windows XP, Windows 2000 oraz Windows Server 2003 natomiast wersję 3.1. W Windows 9x i Windows NT dostępna była maksymalnie wersja 2.0. We wszystkich wyżej wymienionych wersjach Windows począwszy od XP a skończywszy na Server 2008 istnieje możliwość zaktualizowania Windows Installera do wersji 4.5 poprzez instalację odpowiedniej dla danego  systemu dystrybucji dostępnej na stronach Microsoftu. Poniższa tabela zawiera zestawienie wszystkich dostępnych wersji Window Installera.

WydanieWersjaOpis
Windows Installer 1.0
1.0.5104.0Instalowany wraz z Microsoft Office 2000
Windows Installer 1.11.10.1029.0Windows 2000
1.10.1029.1Dostępny jako pakiet instalacyjny dla Windows 95, Windows 98/SE, Windows NT 4.0 SP3/SP4/SP5/SP6
Windows Installer 1.111.11.1314.0Windows 2000 SP1
1.11.2405.0Windows 2000 SP2
Windows Installer 1.21.20.1410.0Windows Millenium
1.20.1827.1Dostępny jako pakiet instalacyjny dla Windows 95, Windows 98/SE, Windows NT 4.0/SP3/SP4/SP5/SP6
Windows Installer 2.02.0.2600.0Windows XP
2.0.2600.1Windows 2000 SP3
2.0.2600.2Dostępny jako pakiet instalacyjny dla Windows NT 4.0 SP6, Windows 2000 SP1/SP2
2.0.2600.1106Windows XP SP1
2.0.2600.1183Windows 2000 SP4
2.0.3790.0Windows Server 2003
Windows Installer 3.03.0.3790.2180Windows XP SP2 i jako pakiet instalacyjny dla Windows 2000 SP3/SP4, Windows XP/SP1, Windows Server 2003
Windows Installer 3.13.1.4000.1823Dostępny jako pakiet instalacyjny dla Windows 2000 SP3/SP4, Windows XP/SP1/SP2, Windows Server 2003
3.1.4000.1830Windows Server 2003 SP1 oraz Windows XP x64 RTM
3.1.4000.2435Dostępny jako pakiet instalacyjny dla Windows 2000 SP3/SP4, Windows XP/SP1/SP2, Windows Xp x64, Windows Server 2003/SP1
3.1.4000.3959Windows Server 2003 SP2
3.1.4000.4042Dostępny jako update dla Windows 2000 SP4, Windows XP/SP1/SP2, Windows XP x64, Windows Server 2003/SP1/SP2
3.1.4001.5512Windows XP SP3
Windows Installer 4.04.0.6000.16386Windows Vista
4.0.6001.18000Windows Vista SP1 i Windows Server 2008
Windows Installer 4.54.5.6000.20817Dostępny jako pakiet instalacyjny dla Windows Vista
4.5.6001.22159Dostępny jako pakiet instalacyjny dla Windows XP SP2/SP3, Windows Server 2003 SP1/SP2,
4.5.6001.22162Dostępny jako pakiet instalacyjny dla Windows Vista SP1 i Windows Server 2008
4.5.6001.22299Dostępny jako update dla Windows XP SP2/SP3, Windows Server 2003 SP1/SP2
4.5.6001.22303Dostępny jako update dla Windows Vista SP1, Windows Server 2008
4.5.6002.18005Windows Vista SP2 oraz Windows Server 2008 SP2
4.5.6002.22172Dostępny jako update dla Windows XP SP3, Windows Server 2003 SP2, Windows Vista/SP1/SP2, Windows Server 2008/SP2
4.5.6002.22362Dostępny jako update dla Windows XP SP3, Windows Vista SP1/SP2, Windows Server 2008/SP2
4.5.6002.22370Dostępny jako update dla Windows Vista/SP1/SP2, Windows Server 2008/SP2
4.5.6002.22388Dostępny jako update dla Windows Server 2003 SP2
Windows Installer 5.05.0.7600.16385Windows Server 2008 R2 oraz Windows 7
5.0.7600.16992Dostępny jako update dla Windows Server 2008 R2 oraz Windows 7
5.0.7601.17514Windows Server 2008 R2 SP1 oraz Windows 7 SP1
5.0.7601.17807Dostępny jako update dla Windows Server 2008 R2 SP1 oraz Windows 7 SP1
5.0.9600.16384Windows 8/8.1

Tabela 1. Wersje Windows Installera

Spora część obecnych pakietów instalacyjnych bazuje na technologii Windows Installera. Do instalacji starszego typu oprogramowania (choć niekoniecznie) wykorzystywane były i są do dzisiaj instalatory oparte na skryptach (tzw. Legacy Setup). Charakterystycznym problemem spotykanym w tego typu instalacjach jest to, że zainstalowanie lub odinstalowanie jednej z aplikacji bardzo często powodowało uszkodzenie innej, gdyż odinstalowywane były współdzielone elementy . Technologia Windows Installera nie jest obarczona tym problemem i oferuje mnogość mechanizmów wspierających proces instalacji i deinstalacji oprogramowania przy jednoczesnym zachowaniu stabilności systemu.

Charakterystyczną cechą odróżniającą instalatory typu „Legacy Setup” od opartych na Windows Installer jest ich budowa. W starych instalatorach cała logika oraz opis akcji wykonywanych podczas instalacji wbudowana jest w jeden pakiet instalacyjny. Pakiet tego typu zawiera informacje o nazwach plików, katalogu docelowym oraz katalogu z którego jest instalowany pakiet. Nie posiadają niestety dodatkowych mechanizmów zabezpieczjących system przy wystąpieniu błędu i przerwaniu instalacji, przez co może to doprowadzić do niestabilności systemu operacyjnego. W pakietach opartych na Windows Installer logika jest oddzielona od opisu akcji wykonywanych podczas instalacji. Cała logika instalacji jest wbudowana w system operacyjny Windows i obsługiwana przez serwis Windows Installera, który jest identyczny dla każdej instalacji, zapewniając przez to zachowanie takich samych reguł i większą stabilność systemu. Serwis Windows Installera jest jedynym elementem w procesie instalacji, który może wprowadzić zmiany w systemie operacyjnym. Opis akcji wykonywanych podczas instalacji jest umieszczony w pliku .msi, (nazywanym również „pakietem-msi”). Pakiet-msi zawiera opis akcji wykonywanych podczas instalacji oraz zasoby w postaci plików, wpisów rejestru itp.

Rozdzielenie pomiędzy logiką a kodem w pakiecie

Rys. 1. Rozdzielenie pomiędzy logiką a kodem w pakiecie

Jak widać na powyższym rysunku poprzez usytuowanie logiki instalacji bezpośrednio we wnętrzu systemu operacyjnego możliwe jest osiągnięcie większej jego stabilności jak i stabilności programów w nim instalowanych. Windows Installer oferuje oprócz tego również szereg innych udogodnień, które skrótowo zostały opisane poniżej:

  • samoreperacja (self-healing) – jeżeli w programie zainstalowanym przy pomocy Windows Installera zostanie przypadkowo usunięty kluczowy plik lub wpis rejestru wchodzący w jego skład, zostanie on automatycznie przywrócony. Samonaprawa może być zainicjowana automatycznie po uruchomieniu programu lub manualnie przez użytkownika.
  • transakcyjność (transactionality) – dla każdej akcji modyfikującej system jest tworzona kontrakcja. Przy wystąpieniu błędu podczas instalacji na podstawie informacji zawartych w kontrakcjach odtwarzany jest stan systemu sprzed instalacji.
  • instalacja na żądanie (install on demand) – przy tego typu instalacji instalowana jest tylko część programu, reszta jest doinstalowywana w razie konieczności, np. funkcja sprawdzania gramatyki w programie Microsoft Office jest doinstalowaywana po pierwszym jej uruchomieniu.
  • przypisanie (advertisement) – mechanizm przypisania polega na opublikowaiu programu w systemie bez jego fizycznej instalacji. Poega to na tym, że podczas instalacji programu w menu Start jest(są) tworzona(e) ikona(y), która jest połączona z komponentem zawierającym poszczególne pliki i wpisy rejestru. Po kliknieciu na ikonę inicjowany jest automatyczny proces instalacji programu bez interakcji ze strony użytkownika.
  • strona programistyczna (Windows Installer API) – w pełni zarządzalne API. Windows Installer w przeciwieństwie do starego typu instalatorów posiada rozbudowany API przy pomocy, którego można uzyskać praktycznie dowolne informacje o zainstalowanym w systemie produkcie czy jego komponentach. Pozwala również na dodanie własnych akcji (tzw. „Custom Actions”), wykonujacych określone zadania podczas instalacji produktu.
  • dołączane moduły (merge modulen) – Windows Installer pozwala na modułowe łączenie części pakietów w jedną całość. Oznacza to, że poszczególne fragmenty pakietu mogą być podzielone na mniejsze części tzw. „Merge Modules” zawierające identyczne komponenty, które mogą być użyte wielokrotnie w różnych pakietach. Ułatwia to pracę przy tworzeniu pakietu, gdyż nie zachodzi tu potrzeba ponownego dodawania i sprawdzania części pakietu, która jest już umieszczona w module.
  • transformacje (transformation) – transformacje mają za zadanie dopasowanie pakietu, do założonych wymagań (np. wyłączenie automatycznych aktualizacji) . Można przy ich pomocy zmienić przebieg instalacji programu, dodać nowe pliki, wpisy rejestru, usunąć niepotrzebne elementy z systemu, itd.

Windows Installer posiada również szereg innych ciekawych funkcji, które zostaną zaprezentowane w dalszej części opisu.

Be Sociable, Share!
  • avatar
    You may use these HTML tags: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <s> <strike> <strong>

  • Comment Feed for this Post
Go to Top