70-536 Installing Applications

Poniższy artykuł pochodzi z serii Przygotowań do egzaminu 70-536.

Zazwyczaj aby stworzyć instalator dodajemy projekt instalacji do projektu. No ale . NET Framework pozwala zaimplementować swój własny niestandardowy instalator. W ćwiczeniu pierwszym pod tym rozdziałem w training kit jest przedstawione stworzenie standardowego instalatora w drugim natomiast niestandardowego. Jako, że certyfikat 70-536 nie obejmuje tematyki tworzenia standardowych instalatorów omówmy sobie ten drugi typ.

Tworzenie niestandardowego instalatora

Jeżeli potrzebujemy większej kontroli nad procesem instalacji naszej aplikacji możemy skorzystać z klasy Installer z przestrzeni nazw System.Configuration.Install . Klasa ta oferuje cztery wirtualne metody które pomagają nam sterować procesem instalacji i deinstalacji:

Install – metoda ta jest odpowiedzialna za sprawdzenie warunków wstępnych tj. np. czy użytkownik ma odpowiednie uprawnienia. Poza tym metoda ta odpowiada za kopiowanie plików i konfigurowanie innych środków wymaganych przez aplikacje.

Commit – metoda ta jest wywoływana po tym jak metoda Install wykona się pomyślnie. Jest wykorzystywana do zakończenia procesu instalacji.

Rollback – metoda ta jest wywoływana podczas niepowodzenia instalacji bądź jej przerwania. W niej powinny znaleźć sie elementy usunięcia wszystkich plików, ustawień które wykonaliśmy do danego momentu instalacji aby nie pozostawić po niej śladu.

Uninstall-  wywołanie metody jest możliwe po udanej instalacji. Ma ona na celu usunięcie aplikacji.

W każdej z czterech metod aby wykonać proces instalacji musimy je wywołać z metody base. Zarówno przed jak i po wywołaniu metody bazowej możemy dodać dodatkowe zadania. Poniższy przykład demonstruje najbardziej z możliwych podstawową implementacje niestandardowego instalatora, który zawsze powinien zawierać atrybut RunInstaller. Spójrzmy:

   1: // C#
   2: [RunInstaller(true)]
   3: public class CustomInstaller : Installer
   4: {
   5: public CustomInstaller()
   6: : base()
   7: {
   8: }
   9: public override void Commit(IDictionary mySavedState)
  10: {
  11: base.Commit(mySavedState);
  12: }
  13: public override void Install(IDictionary stateSaver)
  14: {
  15: base.Install(stateSaver);
  16: }
  17: public override void Uninstall(IDictionary savedState)
  18: {
  19: base.Uninstall(savedState);
  20: }
  21: public override void Rollback(IDictionary savedState)
  22: {
  23: base.Rollback(savedState);
  24: }
  25: }

Aby wykonać instalacje programowo należałby wywołać metodę Install kiedy ta metoda powiedzie się wywołać Commit, w przeciwnym wypadku Rollback. Kiedy użytkownik sobie zażyczy odinstalowania aplikacji wywołać metode Uninstall . Wszystkie te metody wymagają jednej instancji IDictionary, która jest wykorzystywana do śledzenia zmian w trakcie instalacji.

Instalacje możemy wywołać z linii poleceń bądź użyć InstallUtil.exe które jest w folderze %Windir%\Microsoft.NET\Framework\v2.0.50727\ .

Na dzisiaj tylko tyle:) Pozdrawiam i zapraszam w piątek :) Dzięki za poświęcenie czasu ;)

Kolejny artykuł z serii to 70-536: Logging Application State

Tagi: , , ,

Pingbacks and trackbacks (2)+

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading


Eastgroup.pl na facebooku