Instalacja i zarządzanie aplikacją dla Windows
Wersja B
Aplikacja z dwoma wersjami jednego assembly.
- Składowe programu:
- assembly Library.dll
- atrybut AssemblyTitle ustawiony na "TATM 05 B
Library"
- atrybut AssemblyCompany ustawiony na nazwisko i
imię autora
- ustawione dwie pierwsze składowe atrybutu AssemblyVersion na:
- 1.0 dla pliku .dll obecnego w katalogu aplikacji
- 1.5 dla pliku .dll obecnego w Global Assembly Cache (GAC)
- klasa zapieczętowana MyClass
- metoda niestatyczna ClassDescription()zwracająca tekst:
"MyClass v.XXX, location=YYY" (XXX - wersja assembly,
YYY - położenie pliku assembly)
- metoda niestatyczna WriteDescription() zapisująca wartość
zwracaną przez metodę ClassDescription() do pliku wskazanego w pliku konfiguracyjnym aplikacji
- standardowy plik konfiguracyjny (LibraryDemo.exe.config) z jednym kluczem logFile - ścieżką do pliku
- UWAGA! metoda WriteDescription() w wersji 1.5 nie ma prawa wykonywać oparacji zapisu na dysku C: (radzę rozwiązywać ten problem na końcu)
- program główny LibraryDemo.exe - aplikacja Windows Forms
- menu Assembly:
- dwie opcje do wyboru 1.0 i 1.5
- wartość zwracana metodą ClassDescription() pojawia się w status barze przy ładowaniu biblioteki
- manu Action:
- jedna pozycja Write - wykonuje metodę WriteDescription() na obiekcie klasy MyClass
z obecnie załadowanego assembly
- Stworzyć instalator o nazwie [nazwisko autora].msi, który będzie instalował w
systemie następujące elementy:
- LibraryDemo.exe, LibraryDemo.exe.config do katalogu aplikacji
- Library.dll w wersji 1.0 do katalogu aplikacji
- Library.dll w wersji 1.5 do GAC
- skrót na pulpicie do pliku LibraryDemo.exe (z ikoną z pliku LibraryDemo.exe)
- skrót w menu programów do pliku LibraryDemo.exe (z ikoną z pliku LibraryDemo.exe)
- domyślny katalog aplikacji [ProgramFiles]\[nazwisko autora]
- Istotne uwagi, sugestie:
- program musi być przygotowany na nieobecność której
kolwiek z bibliotek
- pomocne klasy, metody, itd:
- Assembly
- MethodInfo, MethodInfo.Invoke
- CodeAccessSecurityAttribute i klasy potomne
- ConfigurationSettings
- File.CreateText