Sdílet prostřednictvím


Požadavky na certifikaci pro desktopové aplikace pro Windows

verze dokumentu : 10

datum dokumentu: 29. července 2015

Tento dokument obsahuje technické požadavky a kvalifikace způsobilosti, které musí desktopová aplikace splňovat, aby se mohla zúčastnit programu certifikace desktopových aplikací pro Windows 10.

Vítejte!

Platforma Windows podporuje široký ekosystém produktů a partnerů. Zobrazení loga Windows ve vašem produktu představuje vztah a sdílený závazek ke kvalitě mezi Microsoftem a vaší společností. Zákazníci důvěřují značce Windows ve vašem produktu, protože zajišťují, že splňuje standardy kompatibility a dobře fungují na platformě Windows. Úspěšné předání certifikace aplikací pro Windows umožňuje, aby se vaše aplikace zobrazovala v Centru kompatibility windows a na webu můžete zobrazit logo certifikace.

Program certifikace aplikací pro Windows se skládá z programových a technických požadavků, které pomáhají zajistit, aby aplikace třetích stran, které nesou značku Windows, byly snadno instalovatelné i spolehlivé na počítačích s Windows. Zákazníci si váží stability, kompatibility, spolehlivosti, výkonu a kvality v systémech, které kupují. Společnost Microsoft se zaměřuje na splnění těchto požadavků na softwarové aplikace navržené tak, aby běžela na platformě Windows pro počítače. Mezi tyto snahy patří testy kompatibility pro konzistenci prostředí, lepší výkon a lepší zabezpečení na počítačích se softwarem s Windows. Testy kompatibility Společnosti Microsoft byly navrženy ve spolupráci s obchodními partnery a neustále se vylepšují v reakci na vývoj v odvětví a poptávku spotřebitelů.

Sada Windows App Certification Kit slouží k ověření dodržování těchto požadavků a nahrazuje všechny předchozí verze sady použité k ověření ve Windows 7, Windows 8 nebo Windows 8.1. Sada Windows App Certification Kit je jednou z komponent obsažených v sadě Windows Software Development Kit (SDK) pro Windows 10.

Způsobilost aplikace

Aby měla aplikace nárok na certifikaci desktopové aplikace pro Windows 10, musí splňovat následující kritéria a všechny technické požadavky uvedené v tomto dokumentu.

  • Musí to být samostatná aplikace.
  • Musí běžet na místním počítači s Windows 10.
  • Může se jednat o klientskou komponentu certifikované aplikace pro Windows Server.
  • Musí to být kód a dokončená funkce.
  • Nesmí komunikovat s aplikacemi pro Windows Store prostřednictvím místních mechanismů, včetně souborů a klíčů registru, s výjimkou podporovaných podnikových scénářů.
  • Nesmí ohrozit zabezpečení nebo funkčnost systému Windows.
  • Musí mít jedinečný název a nesmí být ochrannou známkou jinými uživateli.
  • Všechny externí komponenty musí být certifikované samostatně nebo musí být kompatibilní se sadou Windows App Certification Kit.
  • Musí mít možnost odhlášení pro všechny aplikace v sadě.

Pokud se desktopová aplikace odešle do kategorie produktů antiviru a/nebo anti spyware (tj. antimalwaru), musí být v souladu s pravidly ANTIMALWARE PLATFORM GUIDELINES. Před odesláním musí být smlouva O LICENCOVÁNÍ A VÝPISU ROZHRANÍ API PRO WINDOWS 10 podepsaná a platná. Partner musí být členem nebo mít výzkumné pracovníky, kteří jsou členy a v dobrém postavení v jedné z organizací uvedených v dohodě. Funkce musí být ve Windows 10 certifikované jednou organizací uvedenou ve smlouvě. Aplikace musí být testována alespoň jednou za posledních 12 měsíců a certifikována pro detekci a čištění.

1. Aplikace jsou kompatibilní a odolné

Časy, kdy se aplikace chybově ukončí nebo přestane reagovat, způsobují velkou frustraci uživatelů. Očekává se, že aplikace budou odolné a stabilní a eliminují taková selhání, což pomáhá zajistit, aby byl software předvídatelnější, udržovatelný, výkonnější a důvěryhodný.

1.1 Vaše aplikace nesmí záviset na režimech kompatibility Windows, zprávě AppHelp ani jiných opravách kompatibility.
1.2 Vaše aplikace musí mít manifest kompatibility a musí používat odpovídající identifikátory GUID pro podporované verze Windows.
1.3 Aplikace musí být pracující s DPI pomocí manifestu sestavení aplikace, nikoli voláním setProcessDPIAware.
1.4 Vaše aplikace nesmí využívat závislost na modulu runtime VB6
1.5 Aplikace nesmí načíst libovolné knihovny DLL pro zachycení volání rozhraní API Win32 pomocí HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows AppInit_dlls.

2. Aplikace musí dodržovat osvědčené postupy zabezpečení Systému Windows.

Použití osvědčených postupů zabezpečení Systému Windows vám pomůže vyhnout se vystavení prostorům útoku windows. Oblasti útoku jsou vstupní body, které by útočník se zlými úmysly mohl použít ke zneužití operačního systému tím, že využívá ohrožení zabezpečení v cílovém softwaru. Jedním z nejhorších ohrožení zabezpečení je zvýšení oprávnění.

Mějte na paměti, že testy 2.1 2.6 platí jenom pro desktopové aplikace testované ve Windows 7, Windows 8 nebo Windows 8.1.

2.1 Vaše aplikace musí používat silné a vhodné seznamy ACL k zabezpečení spustitelných souborů.
2.2 Vaše aplikace musí používat silné a vhodné seznamy ACL pro zabezpečení adresářů.
2.3 Vaše aplikace musí používat silné a vhodné seznamy ACL k zabezpečení klíčů registru.
2.4 Aplikace musí používat silné a vhodné seznamy ACL k zabezpečení adresářů obsahujících objekty.
2.5 Vaše aplikace musí omezit přístup bez oprávnění správce ke službám, které jsou ohrožené manipulací
2.6 Vaše aplikace musí bránit službám s rychlým restartováním v restartování více než dvakrát každých 24 hodin.

Poznámka: Access by měl být udělen pouze entitě, které ji vyžadují.

Program certifikace aplikací pro Windows ověří, že přístupové plochy útoku windows nejsou vystaveny ověřením, že seznamy ACL a služby jsou implementovány způsobem, který systém Windows neohrožuje.

3. Aplikace podporují funkce zabezpečení Systému Windows

Operační systém Windows má mnoho funkcí, které podporují zabezpečení a ochranu osobních údajů systému. Aplikace musí tyto funkce podporovat, aby zachovaly integritu operačního systému. Nesprávně kompilované aplikace můžou způsobit přetečení vyrovnávací paměti, které zase můžou způsobit odepření služby nebo povolit spuštění škodlivého kódu.

3.1 Vaše aplikace nesmí používat AllowPartiallyTrustedCallersAttribute (APTCA), aby se zajistil zabezpečený přístup k sestavením se silným názvem.
3.2 Vaše aplikace se musí zkompilovat pomocí příznaku /SafeSEH, aby se zajistilo bezpečné zpracování výjimek.
3.3 Vaše aplikace se musí zkompilovat pomocí příznaku /NXCOMPAT, aby se zabránilo spuštění dat.
3.4 Vaše aplikace se musí zkompilovat pomocí příznaku /DYNAMICBASE pro randomizaci rozložení adresního prostoru (ASLR)
3.5 Vaše aplikace nesmí číst ani zapisovat sdílené oddíly PE

4. Aplikace musí dodržovat zprávy správce restartování systému

Když uživatelé zahájí vypnutí, obvykle mají silnou chuť vidět úspěšné vypnutí; Možná budou ve spěchu odejít z kanceláře a chtějí, aby počítače vypnuly. Aplikace musí tuto vůli respektovat tím, že neblokují vypnutí. I když ve většině případů nemusí být vypnutí kritické, musí být aplikace připravené na možnost kritického vypnutí.

4.1 Vaše aplikace musí správně zpracovávat kritické vypnutí
V kritickém vypnutí budou aplikace, které vrací hodnotu FALSE do WM_QUERYENDSESSION, odeslány WM_ENDSESSION a uzavřeny, zatímco ty, které vyprší v reakci na WM_QUERYENDSESSION, budou ukončeny.

4.2 Aplikace grafického uživatelského rozhraní musí okamžitě vrátit hodnotu TRUE při přípravě na restartování.
WM\_QUERYENDSESSION s LPARAM = ENDSESSION\_CLOSEAPP(0x1). Konzolové aplikace mohou volat SetConsoleCtrlHandler k určení funkce, která bude zpracovávat oznámení o vypnutí. Aplikace služeb mohou volat RegisterServiceCtrlHandlerEx k určení funkce, která bude přijímat oznámení o vypnutí.
4.3 Aplikace musí během 30 sekund vrátit 0 a vypnout
WM\_ENDSESSION s LPARAM = ENDSESSION\_CLOSEAPP(0x1). Aplikace by se měla minimálně připravit uložením uživatelských dat a stavem potřebných informací po restartování.
4.4 Konzolové aplikace, které obdrží oznámení CTRL\_C\_EVENT by měly okamžitě vypnout ovladače 4.5 nesmí veto událost vypnutí systému
Poznámka: Aplikace, které musí blokovat vypnutí kvůli operaci, která nemůže být přerušena, by měla vysvětlit důvod pro uživatele. Pomocí ShutdownBlockReasonCreate zaregistrujte řetězec, který vysvětluje důvod pro uživatele. Po dokončení operace by aplikace měla volat ShutdownBlockReasonDestroy, aby indikovala, že systém lze vypnout.

5. Aplikace musí podporovat čistou, reverzibilní instalaci

Čistá a reverzibilní instalace umožňuje uživatelům úspěšně spravovat (nasazovat a odebírat) aplikace v jejich systémech.

5.1 Vaše aplikace musí správně implementovat čistou a reverzibilní instalaci
Pokud se instalace nezdaří, měla by být aplikace schopná vrátit zpět a obnovit počítač do předchozího stavu.

5.2 Aplikace nesmí uživatele vynutit okamžité restartování počítače.
Restartování počítače by nikdy nemělo být jedinou možností na konci instalace, odinstalace nebo aktualizace. Uživatelé by měli mít možnost restartovat později.
5.3 Vaše aplikace nesmí být nikdy závislá na krátkých názvech souborů 8.3 (SFN) 5.4 Vaše aplikace nesmí nikdy blokovat bezobslužnou instalaci/odinstalaci 5.5. Instalační program aplikace musí vytvořit správné položky registru, aby bylo možné úspěšně detekovat a odinstalovat.
Nástroje inventáře Windows a nástroje telemetrie vyžadují úplné informace o nainstalovaných aplikacích. Pokud používáte instalační program založený na MSI, MSI automaticky vytvoří položky registru níže. Pokud nepoužíváte instalační program MSI, musí instalační modul během instalace vytvořit následující položky registru:
  • DisplayName
  • InstallLocation
  • Vydavatel
  • UninstallString
  • VersionMajor nebo MajorVersion
  • VersionMinor nebo MinorVersion
5.6 Aplikace musí po odinstalaci odebrat všechny její položky z možnosti Přidat nebo odebrat programy.

6. Aplikace musí digitálně podepisovat soubory a ovladače.

Digitální podpis Authenticode umožňuje uživatelům zajistit, aby software byl originální. Umožňuje také zjistit, jestli byl soubor manipulován, například pokud byl napaden virem. Vynucení kódu v režimu jádra je funkce systému Windows označovaná jako integrita kódu (CI), která zlepšuje zabezpečení operačního systému ověřením integrity souboru při každém načtení image souboru do paměti. CI zjistí, jestli škodlivý kód upravil systémový binární soubor. Vygeneruje také událost protokolu diagnostiky a systémového auditu, když se podpis modulu jádra nepodaří ověřit správně.

6.1 Všechny spustitelné soubory (.exe, .dll, .ocx, .sys, .cpl, .drv, .scr) musí být podepsány certifikátem Authenticode.
6.2 Všechny ovladače režimu jádra nainstalované aplikací musí mít podpis Společnosti Microsoft získaný prostřednictvím programu Certifikace hardwaru systému Windows. Všechny ovladače filtru systému souborů musí být podepsány společností Microsoft.
6.3 Výjimky a výjimky
Výjimky budou považovány pouze za nepodepsané redistribuovatelné třetí strany, s výjimkou řidičů. K udělení této výjimky je vyžadován doklad o komunikaci požadující podepsanou verzi redistribuovatelných prostředků.

7. Aplikace neblokují instalaci ani spouštění aplikací na základě kontroly verze operačního systému

Je důležité, aby zákazníci nebyli uměle blokovaní v instalaci nebo spouštění aplikace, pokud neexistují žádná technická omezení. Obecně platí, že pokud byly aplikace napsané pro Windows Vista nebo novější verze Windows, neměli by muset zkontrolovat verzi operačního systému.

7.1 Vaše aplikace nesmí provádět kontroly rovnosti verzí
Pokud potřebujete konkrétní funkci, zkontrolujte, jestli je tato funkce dostupná. Pokud potřebujete Windows 7, zkontrolujte Windows 7 nebo novější (>= 6.2). Tímto způsobem bude váš kód detekce i nadále fungovat v budoucích verzích Windows. Instalační programy ovladačů a odinstalace modulů by nikdy neměly kontrolovat verzi operačního systému.

7.2 Výjimky a výjimky budou považovány za aplikace splňující následující kritéria:
  • Aplikace, které jsou dodávány jako jeden balíček, který běží také ve Windows 7, Windows 8 a Windows 8.1, a musí zkontrolovat verzi operačního systému, abyste zjistili, které součásti se mají nainstalovat do daného operačního systému.
  • Aplikace, které kontrolují pouze minimální verzi operačního systému (pouze během instalace, ne za běhu) pomocí jenom schválených volání rozhraní API a které správně vypisují požadavek na minimální verzi v manifestu aplikace.
  • Aplikace zabezpečení (antivirový software, brána firewall atd.), systémové nástroje (například defragmentace, zálohování a diagnostické nástroje), které kontrolují verzi operačního systému pouze pomocí schválených volání rozhraní API.

8. Aplikace nenačítají služby ani ovladače v nouzovém režimu

Nouzový režim umožňuje uživatelům diagnostikovat a řešit potíže s Windows. Ovladače a služby nesmí být nastaveny tak, aby se načítá v nouzovém režimu, pokud nejsou potřeba pro základní systémové operace, jako jsou ovladače úložných zařízení nebo pro účely diagnostiky a obnovení, jako jsou antivirové skenery. Pokud je systém Windows ve výchozím nastavení v nouzovém režimu, spustí se pouze ovladače a služby, které byly předinstalovány ve Windows.

  • 8.1 Výjimky a výjimky
    Řidiči a služby, které musí být spuštěny v nouzovém režimu, vyžadují zrušení. Žádost o zrušení povinnosti musí obsahovat každý platný ovladač nebo službu zápisu do klíčů registru SafeBoot a popsat technické důvody, proč musí aplikace nebo služba běžet v nouzovém režimu. Instalační program aplikace musí zaregistrovat všechny tyto ovladače a služby pomocí těchto klíčů registru:
    - HKLM/System/CurrentControlSet/Control/SafeBoot/Minimal - HKLM/System/CurrentControlSet/Control/SafeBoot/Network

Poznámka: Tyto ovladače a služby musíte otestovat, aby fungovaly v nouzovém režimu bez chyb.

9. Aplikace musí dodržovat pokyny pro řízení uživatelských účtů

Některé aplikace pro Windows běží v kontextu zabezpečení účtu správce a aplikace často požadují nadměrná uživatelská práva a oprávnění Windows. Řízení přístupu k prostředkům umožňuje uživatelům řídit jejich systémy a chránit je před nežádoucími změnami. Nechtěná změna může být škodlivá, například rootkit, která převezme kontrolu nad počítačem, nebo výsledkem akce provedené lidmi, kteří mají omezená oprávnění. Nejdůležitějšímpravidlem pravidlem pro řízení přístupu k prostředkům je poskytnutí minimálního standardního kontextu přístupu potřebného k tomu, aby uživatel mohl provádět potřebné úkoly. Následující pokyny pro řízení uživatelských účtů (UAC) poskytují aplikaci potřebná oprávnění v případě, že je aplikace potřebuje, aniž by systém neustále vystavený rizikům zabezpečení. Většina aplikací nevyžaduje oprávnění správce za běhu a měla by být v pořádku jako standardní uživatel.

9.1 Vaše aplikace musí mít manifest, který definuje úrovně spouštění a řekne operačnímu systému, jaká oprávnění aplikace potřebuje ke spuštění.
Označení manifestu aplikace se týká jenom exes, nikoli knihoven DLL. Důvodem je to, že nástroj Řízení uživatelských účtů nekontroluje knihovny DLL během vytváření procesu. Je také vhodné poznamenat, že pravidla řízení uživatelských účtů se nevztahují na služby Microsoftu. Manifest může být vložený nebo externí.
Pokud chcete vytvořit manifest, vytvořte soubor s názvem <app_name>.exe.manifest a uložte ho do stejného adresáře jako EXE. Všimněte si, že pokud má aplikace interní manifest, bude ignorován jakýkoli externí manifest. Například:
<requestedExecutionLevel level=""asInvoker | highestAvailable | requireAdministrator"" uiAccess="true|false"/>

9.2 Hlavní proces aplikace musí být spuštěný jako standardní uživatel (asInvoker).
Všechny funkce pro správu musí být přesunuty do samostatného procesu, který běží s oprávněními správce. Aplikace přístupné uživatelům, jako jsou aplikace přístupné prostřednictvím skupiny programů v nabídce Start a vyžadují zvýšení oprávnění, musí být podepsána službou Authenticode.
9.3 Výjimky a výjimky
Pro aplikace, které spouštějí hlavní proces se zvýšenými oprávněními (requireAdministrator nebo highestAvailable), se vyžaduje zrušení. Hlavní proces se identifikuje jako vstupní bod uživatele do aplikace. Výjimky budou považovány za následující scénáře:
  • Nástroje pro správu nebo systém s úrovní spouštění nastavenou na nejvyšší dostupnost a/nebo requireAdministrator
  • Pouze aplikace architektury přístupnosti nebo automatizace uživatelského rozhraní nastaví příznak uiAccess na true, aby se vynechala izolace oprávnění uživatelského rozhraní (UIPI). Aby bylo možné správně spustit využití aplikace, musí být tento příznak podepsaný službou Authenticode a musí se nacházet v chráněném umístění v systému souborů, konkrétně programových souborů.

10. Aplikace musí ve výchozím nastavení instalovat do správných složek.

Uživatelé by měli mít konzistentní a zabezpečené prostředí s výchozím umístěním instalace souborů a současně zachovat možnost instalace aplikace do umístění podle vlastního výběru. Je také nutné ukládat data aplikací do správného umístění, aby několik lidí mohlo používat stejný počítač bez poškození nebo přepsání dat a nastavení jednotlivých aplikací. Systém Windows poskytuje v systému souborů konkrétní umístění pro ukládání programů a softwarových komponent, dat sdílených aplikací a dat aplikací specifických pro uživatele.

10.1 Vaše aplikace musí být ve výchozím nastavení nainstalovaná ve složce Program Files.
Pro nativní 32bitové a 64bitové aplikace v %ProgramFiles%a %ProgramFiles(x86)% pro 32bitové aplikace běžící na platformě x64. Uživatelská data nebo data aplikací nesmí být nikdy uložena v tomto umístění kvůli oprávněním zabezpečení nakonfigurovaným pro tuto složku.

10.2 Vaše aplikace se musí vyhnout automatickému spuštění
Vaše aplikace by například neměla nastavovat žádnou z následujících možností;
  • Klíče registru spouštějí HKLM a nebo HKCU v části Software\Microsoft\Windows\CurrentVersion
  • Klíče spuštění registru HKLM a nebo HKCU v části Software\Wow6432Node\Microsoft\windows\CurrentVersion
  • Nabídka Start AllPrograms > STARTUP
10.3 Vaše data aplikace, která musí být sdílena mezi uživateli v počítači, by měla být uložena v aplikaci ProgramData 10.4 Vaše aplikace s daty, která jsou výhradní pro konkrétního uživatele a které se nesdílí s ostatními uživateli počítače, musí být uložena v users\\<uživatelské jméno>\\AppData 10.5 Vaše aplikace nesmí nikdy zapisovat přímo do adresáře Windows a nebo podadresářů.
Pro instalaci souborů, jako jsou písma nebo ovladače, použijte správné metody.
10.6 Vaše aplikace musí při prvním spuštění zapisovat uživatelská data, a ne během instalace v instalacích na počítač.
Když je aplikace nainstalovaná, neexistuje správné umístění uživatele, do kterého se mají ukládat data. Pokusy aplikace o úpravu výchozího chování přidružení na úrovni počítače po instalaci nebudou úspěšné. Místo toho musí být výchozí hodnoty nárokované na úrovni jednotlivých uživatelů, což brání více uživatelům v přepsání výchozích hodnot jednotlivých uživatelů.
10.7 Výjimky a výjimky
Pro aplikace, které zapisuje do globální mezipaměti sestavení (GAC), musí být závislosti sestavení soukromé a ukládat je v adresáři aplikace, pokud není explicitně vyžadováno sdílení sestavení.

11. Aplikace musí podporovat relace s více uživateli.

Uživatelé Windows by měli být schopni spouštět souběžné relace bez konfliktů nebo přerušení.

11.1 Vaše aplikace musí zajistit, aby při spuštění ve více relacích místně nebo vzdáleně nedošlo k nežádoucímu ovlivnění normální funkčnosti aplikace.
11.2 Nastavení aplikace a datové soubory nesmí být zachovány napříč uživateli.
11.3 Soukromí a předvolby uživatele musí být izolované od relace uživatele.
11.4 Instance aplikace musí být navzájem izolované.
To znamená, že uživatelská data z jedné instance nejsou viditelná pro jinou instanci aplikace. Zvuk v neaktivní uživatelské relaci by neměl být slyšet v aktivní uživatelské relaci. V případech, kdy více instancí aplikace používá sdílené prostředky, musí aplikace zajistit, aby nedošlo ke konfliktu.

11.5 Aplikace nainstalované pro více uživatelů musí ukládat data do správných složek a umístění registru.
Projděte si požadavky na řízení uživatelských účtů.
11.6 Uživatelské aplikace musí být schopné spouštět v několika uživatelských relacích (rychlé přepínání uživatelů) pro místní i vzdálený přístup 11.7 Vaše aplikace musí zkontrolovat další relace terminálové služby (TS) u existujících instancí aplikace.
Poznámka: Pokud aplikace nepodporuje více uživatelských relací nebo vzdálený přístup, musí to jasně uvést při spuštění z tohoto typu relace.

12. Aplikace musí podporovat verze x64 windows

S tím, jak je 64bitový hardware častější, uživatelé očekávají, že vývojáři aplikací budou využívat výhody 64bitové architektury migrací aplikací na 64bitovou nebo 32bitovou verzi aplikace dobře běží v 64bitových verzích Windows.

12.1 Vaše aplikace musí nativně podporovat 64bitové nebo minimálně 32bitové aplikace založené na Windows musí bez problémů běžet na 64bitových systémech, aby se zachovala kompatibilita s 64bitovými verzemi Windows.
12.2 Vaše aplikace a její instalační programy nesmí obsahovat žádný 16bitový kód ani nespoléhá na žádnou 16bitovou komponentu.
12.3 Instalace aplikace musí zjišťovat a instalovat správné ovladače a komponenty pro 64bitovou architekturu.
12.4 Všechny moduly plug-in prostředí musí běžet v 64bitových verzích Windows.
12.5 Aplikace spuštěná v emulátoru WoW64 by se neměla pokoušet převrátit ani obejít mechanismy virtualizace Wow64
Pokud existují konkrétní scénáře, ve kterých aplikace potřebují zjistit, jestli běží v emulátoru WoW64, měli by to provést voláním IsWow64Process.

Závěr

S tím, jak se tyto požadavky vyvíjejí, si povšimneme změny v historii revizí níže. Stabilní požadavky jsou pro vaši nejlepší práci důležité, proto se zaměříme na to, abychom zajistili, že změny, které provedeme, budou udržitelné a budou i nadále chránit a vylepšovat vaše aplikace.

Děkujeme vám, že jste se opět připojili k našemu závazku poskytovat skvělé prostředí pro zákazníky.

Historie revizí

Rande Verze Popis revize Odkaz na dokument
Prosinec 20, 2011 1.0 Počáteční koncept dokumentu pro náhled
26. ledna 2012 1.1 Aktualizujte na oddíl č. 2. 1.1
31. května 2012 1.2 Přidání souhrnných výsledků testu 1,2
29. června 2012 3.0 Konečný dokument windows 8 3.0
18. června 2013 3.1 Dokument windows 8.1 3.1
20. února 2014 3.2 Interní aktualizace
18. března 2014 3.3 Windows 8.1 Update 1 3,3
29. července 2015 10 Windows 10 Update 10

Další informace o certifikaci desktopové aplikace

Požadavek Popis
Kompatibilita a odolnost proti chybám Chybové ukončení & zablokování jsou velkým přerušením uživatelů a způsobují frustraci. Očekává se, že aplikace budou odolné a stabilní a eliminují taková selhání, což pomáhá zajistit, aby byl software předvídatelnější, udržovatelný, výkonný a důvěryhodný.
Vstupní bod uživatele aplikace musí být manifestován kvůli kompatibilitě a také deklarování správného identifikátoru GUID.
Vstupní body aplikace přístupné uživatelům musí být manifestovány pro HIGH-DPI povědomí a že jsou volána správná rozhraní API pro podporu VYSOKÉHO DPI.
Další informace najdete tady:
Dodržování osvědčených postupů zabezpečení systému Windows Použití osvědčených postupů zabezpečení Systému Windows vám pomůže vyhnout se vystavení prostorům útoku windows. Oblasti útoku jsou vstupní body, které by útočník se zlými úmysly mohl použít ke zneužití operačního systému tím, že využívá ohrožení zabezpečení v cílovém softwaru. Jedním z nejhorších ohrožení zabezpečení je zvýšení oprávnění.
Další informace najdete tady:
Podpora funkcí zabezpečení systému Windows Operační systém Windows implementoval mnoho opatření pro podporu zabezpečení a ochrany osobních údajů systému. Aplikace musí podporovat tato opatření, aby zachovaly integritu operačního systému. Nesprávně kompilované aplikace můžou způsobit přetečení vyrovnávací paměti, které by pak mohly způsobit odepření služby nebo provést škodlivý kód. Další informace naleznete v BinScope nástroj reference.
Dodržování zpráv správce restartování systému Když uživatelé zahájí vypnutí, v obrovské většině případů mají silnou chuť vidět vypnutí úspěšné; můžou být ve spěchu, aby opustili kancelář a "jen chtějí" počítače vypnout. Aplikace musí tuto vůli respektovat tím, že neblokují vypnutí. I když ve většině případů nemusí být vypnutí kritické, musí být aplikace připravené na možnost kritického vypnutí.
Čistá reverzibilní instalace Čistá a reverzibilní instalace umožňuje uživatelům úspěšně spravovat (nasazovat a odebírat) aplikace v jejich systémech. Další informace naleznete v tématu Postupy: Instalace předpokladů pomocí aplikace ClickOnce.
Digitální podepisování souborů a ovladačů Digitální podpis Authenticode umožňuje uživatelům zajistit, aby software byl originální. Umožňuje také zjistit, jestli byl soubor manipulován, například pokud byl napaden virem. Vynucení kódu v režimu jádra je funkce systému Windows označovaná jako integrita kódu (CI), která zlepšuje zabezpečení operačního systému ověřením integrity souboru při každém načtení image souboru do paměti. CI zjistí, jestli škodlivý kód upravil systémový binární soubor. Vygeneruje také událost protokolu diagnostiky a systémového auditu, když se podpis modulu jádra nepodaří ověřit správně.
Neblokujte instalaci ani spouštění aplikací na základě kontroly verze operačního systému Je důležité, aby zákazníci nebyli uměle blokovaní v instalaci nebo spouštění aplikace, pokud neexistují žádná technická omezení. Obecně platí, že pokud byly aplikace napsané pro windows Vista nebo novější verze, neměly by mít žádný důvod zkontrolovat verzi operačního systému. Další informace naleznete správa verzí operačního systému.
Nenačítat služby a ovladače v nouzovém režimu Nouzový režim umožňuje uživatelům diagnostikovat a řešit potíže s Windows. Pokud nejsou potřeba základní operace systému (například ovladače úložných zařízení) nebo pro účely diagnostiky a obnovení (například antivirové skenery), ovladače a služby nesmí být nastaveny tak, aby se načítály v nouzovém režimu. Ve výchozím nastavení se v nouzovém režimu nespustí většina ovladačů a služeb, které nebyly předinstalovány ve Windows. Měly by zůstat zakázané, pokud je systém nevyžaduje pro základní operace nebo pro účely diagnostiky a obnovení.
Další informace najdete tady:
Postupujte podle pokynů pro řízení uživatelských účtů (UAC). Některá aplikace pro Windows běží v kontextu zabezpečení účtu správce a řada z nich vyžaduje nadměrná uživatelská práva a oprávnění windows. Řízení přístupu k prostředkům umožňuje uživatelům řídit své systémy proti nežádoucím změnám (nežádoucí změna může být škodlivá, například rootkit neviditelně přebírá počítač nebo akce od lidí, kteří mají omezená oprávnění, například zaměstnanec instalující zakázaný software na pracovní počítač). Nejdůležitějšímpravidlem pravidlem pro řízení přístupu k prostředkům je poskytnutí minimálního standardního kontextu přístupu potřebného k tomu, aby uživatel mohl provádět potřebné úkoly. Následující pokyny pro řízení uživatelských účtů poskytují aplikaci v případě potřeby potřebná oprávnění, aniž by systém neustále vystavený rizikům zabezpečení.
Další informace najdete tady:
Ve výchozím nastavení nainstalujte do správných složek. Uživatelé by měli mít konzistentní a zabezpečené prostředí s výchozím umístěním instalace souborů a současně zachovat možnost instalace aplikace do zvoleného umístění. Je také nutné ukládat data aplikací do správného umístění, aby několik lidí mohlo používat stejný počítač bez poškození nebo přepsání dat a nastavení jednotlivých aplikací. Další informace naleznete Souhrn požadavků na instalaci/odinstalaci.
Podpora relací s více uživateli Uživatelé Windows by měli být schopni spouštět souběžné relace bez konfliktů nebo přerušení. Další informace naleznete v tématu Pokyny pro programování služby Vzdálená plocha.
Podpora verzí x64 systému Windows S tím, jak se 64bitový hardware stává častější, uživatelé očekávají, že vývojáři aplikací budou využívat výhody 64bitové architektury migrací aplikací na 64bitovou nebo 32bitovou verzi aplikace dobře běží v 64bitových verzích Windows.

Viz také