Co a jak změnit při vývoji aplikací pro Windows 7

Windows 7 zásadním způsobem mění pohled mimo jiné i na vývoj aplikací. Změn, jež 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žován 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. Z 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 v operačním 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 registru a souborového systému a Internet Explorer není provozován 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.


Závislost na barevném schématu, kdy ve Windows 7 je použito schéma Luna Theme z Windows XP.

Změna verze operačního systému. Windows 7 má verzi operačního systému 6.1. Kupodivu to 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 byly u Windows Vista způsobeny problémy verzí (6.0).

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 16bit aplikace. Potenciální komplikací s x64 platformou je rozdílné umístění informací v registru a zápisu do větve HKLM\Software. Pokud je aplikace nativní x64, zapisuje informace přímo do větve 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 registru (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í nastaveno 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 ještě dále 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, pokud není 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í informací přenášených na server.
·    Local Low obsahuje informace z přesměrovaných složek – viz virtualizace souborového systému.

Windows Resource Protection (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 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 soubory cookies. Pokud se Internet Explorer pokouší provést zápis kamkoliv jinam, je vyvolán dialog UAC a je nutné potvrdit akci.


Nástroj na analýzu a řešení kompatibility aplikací „Application Compatibility Toolkit“.

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é 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ě 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 katalozích Microsoftu.

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 .xlsx).











Komentáře