Realizacja aplikacji internetowych Click-once
Cechy aplikacji Łatwa instalacja (brak instalacji) Niewielki wpływ na system Instalacja i działanie w trybie użytkownika Bogaty/interaktywny interfejs Praca bez dostępnej sieci Integracja z Windows Shell Komponenty współdzielone (COM/GAC) Brak ograniczeń przy instalacji) WWW Click Once MSI
Click Once Aplikacje typu Windows Form / WPF Nie wymaga dodatkowego kodowania Wymaga .NET 2.0 u klienta, IE (FF IE tab/.NET Framework Assistant, Chrome + IETab) Wspiera „zaufane" aplikacje Wspiera instalacje na CD Pozwala na instalacje aplikacji i modułów MS (np MDAC, MSInstaller, DirectX itd) Nakłada pewne ograniczenia np.: instalacja shared assemblies dostęp do rejestru (COM, serwisy) dostęp do systemu plików (konfigurowalne) dostęp do schowka (konfigurowalne)
Instalacja aplikacji Typowy cykl życia aplikacji ClickOnce: projekt i kodowanie testy instalacja u klienta ClickOnce: łatwa instalacja (od użytkowka może być wymagana akceptacja uprawnień aplikacji) możliwość (pół)automatycznej aktualizacji możliwość realizacji ograniczonych uprawnień w oparciu o model piaskownicy (CAS określony przez lokalizację serwera instalacji Internet/Local Intranet Zone itd) Chrome – plugin, FF – wycofal sie ze wsparcia
Click Once Po utworzeniu aplikacji wymagana jest publikacja na serwerze instalacji Instalacja może być realizowan w oparciu o serwer WWW serwer plików (network share, CD) „Publish” tworzy manifest aplikacji Po kliknięciu na URL (hiperlink lub skrót) manifestu .NET runetime rozpoznaje typ aplikacji i inicjuje proces kopiowania i lokalnego uruchomienia aplikacji
ClickOnce
VS 2010 – publish wizard
VS 2010 - publish
Manifest Manifest aplikacji Manifest instalacji opisuje aplikację, assemblies, zależności, wymagane uprawnienia, zewnętrzne pliki Manifest instalacji opisuje proces instalacji tj. m.in położenie manifestu aplikacji, wersję aplikacji itd.
Aktualizacja Po kliknięciu linku aplikacja jest kopiowana na komputer kliencki z sieci (WWW) lub uruchamiana bezpośrednio ze wskazanej lokcji Aktualizacja aplikacji odbywa się przy uruchomieniu lub programowo po wywołaniu API mozliwe jest określenie czy update jest wymagany czy opcjonalny
Manifest <subscription> <update> <beforeApplicationStartup /> </update> </subscription>
Security Execution Evironment Poziom uprawnień zalieży od lokalizacji aplikacji Internet Trusted Internet Local Np. aplikacja uruchomiona z CD dysponuje pełnym poziomem uprawnień W przypadku takiej konieczności (uruchomienie kodu unmanaged/dostęp do rejestru/dostęp do zewnętznych WS lub baz danych) może być konieczne podniesienie poziomu uprawnień w CAS (code access security)
Trusted applications W przypadku gdy konieczny jest wyższy niż domyslny poziom uprawnień w organizacji klienta możliwe jest określenie zbioru „zaufanych” dostarczycieli oprogramowania Identyfikacja odbywa się na podstawie certyfikatów zarejestrowanych na komputerach klienckich (Trusted Publisher’s Store) i dołączonych do aplikacji
Trusted applications Jeśli komputer nie zawiera certyfikatu – użytkownik może być poproszony o podjęcie decyzji czy umożliwić podniesienie uprawnień aplikacji Administrator może określić, które z uprawnień użytkownik może podnieść we własnym zakresie (np. dla aplikacji uruchamianych z Internetu niemożliwe może być uruchamianie kodu unmanaged)
Permission Calculator
Aktualizacja aplikacji On startup pytanie o aktualizację przy uruchomieniu After startup pytanie o aktualizację przy nast. uruchomieniu Programatic Required minimalna wymagana wersja Future-Background Updates zbliżony do WindowsUpdate / tylko MS Vista
Rollback i deinstalacja Możliwa jest deinstalacja bez uruchamiania sieci
Ograniczenia COM Lokalizacja binariów od Windows XP mozliwe jest uruchamianie COM bez instalacji w rejestrze „registy free COM” wołanie COM jako statycznych bibliotek (bez pośrednictwa Windows RPC) Windows bootsrapper (brak autoaktualizacji) Lokalizacja binariów aplikacje są składowane w Documents & Settings\LocalSettings\Apps aplikacja nie ma wpływu na swoją lokalizację (można tom ustalić administracyjnie)
Ograniczenia Menu Start Rózne przeglądarki nie ma możliwości umieszczenia dodatkowych wpisów (do lokalnych binariów) w menu Start wpisy można tworzyć przez wskazanie lokalizacji odpowiedniego manifestu Rózne przeglądarki mechanizm jest wspierany przez IE, Outlook, OutlookExpress, MSN Explorer Firefox/Mozilla wymagają dodatkowej wtyczki (FFClickOnce dla .Net 2.0) Framework 3.5 SP1 i 4.0 zawierają rozszerzenie do FF - .NET Framework Assistant
Ograniczenia lokalizacji Kod zarzadzany - lokalizacja Internet nie zezwala na uruchamianie kodu niezarządzalnego do wołania zewnętrznego kodu wymagane jest podniesienie uprawnień i assembly musi mieć atrubut AllowPartiallyTrustedCallers WebControl – klasa pozwala umieścić kontrolke przeglądarki w formatce aplikacji – wymagany jest poziom uprawnień full trust ODBC.NET, Remoting, WCF - wymagany full trust XML serialization – powinien działać dla Internet zone ale nie działa (bug?) BinarySerialization - wymagany SerializationFormatter SoapSerialization - wymagany full trust