Windows 7 zásadním způsobem mění pohled na vývoj aplikací. Změn, které mají přímý vliv na kompatibilitu, je několik, nicméně existuje mnoho způsobů řešení, které kompatibilitu aplikací pro Windows 7 zajistí.
Již Windows Vista přinesly nové bezpečnostní prvky, které Windows 7 více rozšiřují. Z pohledu vývoje aplikací a softwaru je pravděpodobně nejzásadnější změnou technologie User Account Control, nicméně ve Windows 7 je změn více a Microsoft přináší celou řadu nástrojů a možností, jak začít vyvíjet pro technologie Windows 7 a jak přizpůsobit aplikace tak, aby odpovídaly specifikacím Windows 7.
Změny ve Windows 7 s ohledem na kompatibilitu aplikací
Každý uživatel je “standardní uživatel”. Při standardní instalaci Windows, kde je UAC zapnuté, je každý uživatel považovaný za standardního uživatele, tedy uživatele bez administrátorského oprávnění, i přesto, že je uživatel administrátorem na počítači. Díky této technologii je zvýšeno zabezpečení počítače a potažmo i celého IT prostředí, kde je počítač provozován. S pohledu vývoje aplikací je zapotřebí dbát na to, aby UAC nežádalo uživatele o povýšení oprávnění při každém spuštění aplikace. Povýšená oprávnění by se měla využívat pouze při změnách do operačního systému jako je například instalace aplikace. Operační systém umožňuje UAC vypnout, nicméně v takovém případě je důležité vědět, že při vypnutém UAC není prováděna virtualizace registry a souborového systému a Internet Explorer není provozovaný v tzv. “Protected módu”
Provoz interaktivních služeb a ovladačů – tzv. Session 0. U Windows XP bylo možné provozovat služby a aplikace, které mohly zasílat informace do prostředí přihlášeného uživatele – služby a ovladače běžely ve stejné session. U Windows 7 jsou služby a aplikace provozovány v naprosto oddělené relaci a není tedy možné přímo zasílat informace na uživatelský desktop.
Změna verze operačního systému. Windows 7 má verzi operačního systému 6.1. Kupodivu toto vede k lepší spolupráci především s aplikacemi, které kontrolují přítomnost Windows XP (verze 5.1). Aplikace kontrolují “MajorVersion” a “MinorVersion”, kde u Windows Vista byly způsobeny problémy verzí (6.0).
Závislost na barevném schématu, kdy ve Windows 7 je použito
schéma Luna Theme z Windows XP
Platforma x64. Při volbě operačního systému, který se bude nasazovat, je nutné také zvážit, jakou bitovou architekturu zvolit. Platforma x64 bezesporu přináší velké množství výhod, ale je nutné mít na zřeteli, že není možné provozovat 32bit ovladače a není možné provozovat 16bit aplikace. Potenciální komplikací s x64 platformou je rozdílné umístění informací v registry a zápisu do větve HKLM\Software. Pokud je aplikace nativní x64, zapisuje informace přímo do větvě HKLM\Software, kdežto aplikace, která je x86 a je spuštěna na x64 systému (pomocí WoW64), zapisuje informace do HKLM\Wow6432node. Pokud aplikace následně potřebuje informace vyčíst, může nastat problém s přístupem do registry (aplikace se pokouší číst přímo z HKLM\Software a nikoliv z HKLM\Software\Wow6432node). Toto dělení se týká také uživatelské části registru – HKCU.
Změna výchozího barevného schématu. Windows XP obsahovaly výchozí barevné schéma označované jako “Luna theme”. Toto barevné schéma není jako výchozí ve Windows Vista a Windows 7, proto některé aplikace nemusí zobrazovat informace tak, jak by měly.
Změna cesty k uživatelskému profilu. Již Windows Vista obsahovaly jiné umístění uživatelských profilů a to “:\users” (Windows XP “:\Documents and Settings”. Pokud aplikace využívá přístupu k uživatelskému profilu bez použití systémových proměnných, bude tato aplikace vykazovat chyby s tím, že soubor nebyl nalezen. Uživatelské profily jsou u Windows 7 dále ještě děleny na části Local, Local Low a Roaming.
- Local – obsahuje klasický uživatelský profil, nejsou zde ukládány informace, které by měly být součástí roamingového profilu, a informace, které jsou přesměrovány ze složek, kam uživatel nemá přístup, aniž by byl administrátorem
- Roaming – je část uživatelského profilu, která se přenáší na server, pokud se používají roamingové profily. Do této části se neukládají informace, které by neměly opustit počítač (mezipaměť Internet Exploreru, datové soubory Outlook atd.), díkyčemuž došlo k podstatnému zmenšení přenášených informací na server.
- Local Low – obsahuje informace z přesměrovaných složek – viz virtualizace souborového systému.
nástroj na analýzu a řešení kompatibility aplikací
„Application Compatibility Toolkit“
Windows Resource Protecion (WRP) zajišťuje zachování integrity operačního systému, pokud se aplikace pokouší provést změnu systémových souborů nebo registru. Chráněny jsou všechny komponenty, které jsou instalovány součástí operačního systému nebo instalovány podporovanou cestou pomocí TrustedInstaller. Pokud se tedy aplikace pokusí modifikovat soubory, které jsou chráněny pomocí WRP, je změna ukončena chybou nebo je změna provedena, nicméně systém “vrátí” soubor na původní verzi.
Protected mód Internet Exploreru– ve spolupráci s User Account Control je Internet Explorer provozován v chráněném módu, kde je spuštěný s ještě nižšími oprávněními, nežli má běžný uživatel. V takovém případě může Internet Explorer zapisovat pouze do adresářů s mezipamětí a soubry cookies. Pokud se Internet Explorer pokouší provést zápis kamkoliv jinam, je vyvolán dialog UAC a je nutné potvrdit akci.
Kde získat další informace
Výše jsou uvedeny pouze ty nejpodstatnější změny, které mají přímý vliv na vývoj aplikací pro operační systém Windows 7. Microsoft Česká Republika připravil pro vývojáře aplikací celou řadu informací a prostředků, které urychlí a napomohou s problematikou kompatibility aplikací pro Windows 7:
Microsoft Platform Ready (dříve Greenlight) – zbrusu nový komplexní portál v českém jazyce, jehož cílem je maximálně pomoci a usnadnit proces zajištění kompatibility aplikací s Microsoft platformou. Po bezplatné jednoduché registraci je možné získat:
- Komplexní zdroj informací, školení a webináře o kompatibilitěs Windows 7, Windows Server 2008 R2, SQL Server 2008 R2, Microsoft Office 2010, SharePoint 2010, Exchange 2010 a Window Azure včetně SQL Azure.
- Online testovací nástroje.
- Přizpůsobitelné marketingové materiály.
- Příležitost zviditelnit svá řešení v Microsoft katalogách.
Přehled společností a jejich aplikací dosavadně registrovaných na Microsoft Platform Ready a kompatibilních s Windows 7 najdete zde (ve formátu .xls).