MICROSOFT WINDOWS INSTALLER TWORZENIE INSTALATORÓW W ŚRODOWISKU VISUAL STUDIO.NET TOMASZ ŁUKASZUK STRESZCZENIE: Dokument zawiera podstawowe informacje dotyczące elementu systemu Windows, Microsoft Windows Installer. Stanowi także wprowadzenie do tworzenia instalatorów dla systemu Windows w środowisku Visual Studio.NET. 1. MICROSOFT WINDOWS INSTALLER Microsoft Windows Installer jest serwisem odpowiedzialnym za instalację i konfigurację aplikacji. Stanowi on integralną część systemów Windows 2000, Windows Me i Windows XP. Jest również dostępny dla Windows 95, Windows 98 i Windows NT 4.0. Windows Installer bazuje na mechanizmie data-driven, który dostarcza w jednym pakiecie wszystkie dane i instrukcje niezbędne do przeprowadzania procesów instalacji. Tradycyjne skryptowe programy instalacyjne bazują na mechanizmie proceduralnym dostarczającym instrukcji skryptowych pozwalających na zainstalowanie aplikacji. Skryptowe pakiety instalacyjne potrzebują określenia jak coś zainstalować; Windows Installer potrzebuje tylko wskazania co zainstalować. System z Windows Installer posiada bazę informacji o każdej aplikacji, która została na nim zainstalowana. W bazie znajdują się dane na temat plików, kluczy rejestru i komponentów wykorzystywanych przez aplikacje. Kiedy aplikacja jest usuwana, przed dokonaniem tego sprawdzane jest, czy wyrzucenie związanych z nią elementów nie zakłóci pracy innej aplikacji. Windows Installer wspiera również samonaprawianie aplikacji możliwość automatycznej reinstalacji brakujących plików, które mogły zostać nieświadomie usunięte przez użytkownika. Dodatkowo Windows Installer zapewnia możliwość cofnięcia procesu instalacji. Na przykład, jeżeli instalowana aplikacja wymaga istnienia określonej bazy danych i podczas procesu instalacji baza nie zostanie znaleziona, instalacja zostanie przerwana, a system powróci do stanu sprzed instalacji.
2. VISUAL STUDIO.NET SETUP PROJECTS TUTORIAL W Visual Strudio.NET wyróżniono 5 typów projektów instalatorów, ale szczególnie ważne są 3 z nich: SetUp Project podstawowy projekt instalatora, który może być używany dla różnych rodzajów aplikacji, także aplikacji web'owych, Web Setup Project ten typ projektu wspomaga między innymi tworzenie wirtualnych katalogów przydatnych w aplikacjach web'owych, Merge Module Project pozwala na utworzenie instalatora aplikacji, która wymaga zainstalowania dodatkowego oprogramowania, np. MSDE. Rys. 1 Project Type Dialog
Kolejne kroki tworzenia instalatora: 1. W okienku dialogowym Project Type wybrać Setup Project, określić nazwę i lokalizację projektu. 2. Domyślnie powinno pojawić się okienko File System Editor (Rys. 2). 3. W File System Editor można dodać katalogi i pliki, które mają zostać utworzone podczas instalacji aplikacji. 4. Przełączyć się do edytora Registry (Rys. 3). Można tu skonfigurować rejestr systemu Windows ustawiając odpowiednie klucze dla aplikacji, np. Producent, Numer Wersji, itp. 5. Przełączyć się do edytora Launch Conditions (Rys. 4). Można tu określić warunki, które muszą zostać spełnione, aby rozpocząć proces instalacji. Warunkami mogą być istnienie określonego pliku w systemie, istnienie określonego klucza w rejestrze systemu, istnienie określonego komponentu, odpowiednio duża ilość pamięci RAM lub przestrzeni dyskowej, itp. 6. Przełączyć się do edytora File Types (Rys. 5). Użytkownik może skojarzyć akcje powiązane z wybranymi typami plików, przypisać im ikony i opisy. 7. Przełączyć sie do edytora User Interface (Rys. 6). Edytor pozwala na ustalenie parametrów okienek dialogowych pojawiających się podczas przeprowadzania instalacji. 8. Przełączyć się do edytora Custom Actions (Rys. 7). Użytkownik może tutaj określić akcje, które mają zostać wykonane w określonych sytuacjach życia aplikacji (install, commit, rollback, uninstall). Akcjom przypisuje się pliki *.exe, *.bat, *.wsh lub inne pliki sktyptowe. W momencie zajścia zdefiniowanej sytuacji zostanie wykonany przypisany jej skrypt lub program. 9. Istalator jest już kompletny. Zbudować projekt i spróbować przeprowadzić proces instalacji. Politechnika Białostocka Katedra Oprogramowania ul. Wiejska 45A 15-351 Białystok 7 grudnia 2004
Rys. 2 File System Editor Rys. 3 Registry Editor
Rys. 4 Launch Conditions Editor Rys. 5 File Types Editor
Rys. 6 User Interface Editor Rys. 7 Custom Actions Editor