Odstraňování spoluinstalátorů z balíčků ovladačů
Opatrnost
Od ledna 2023 už balíčky ovladačů obsahující spolu instalační program nejsou podepsány portálem Hardware Developer Center. Podrobnosti o požadavku najdete v části Specifikace a zásady programu kompatibility hardwaru systému Windows, konkrétně zásady verze 22H2, oddíl Device.DevFund.INF.Deklarativní.
Tato stránka se zabývá běžnými důvody, proč jsou spoluinstalátory přítomny v balíčku ovladačů, a nabízí mechanismy pro provedení stejné úlohy bez spoluinstalátoru.
Spolunainstalační programy WDF a WinUSB
Spoluinstalační programy WDF a WinUSB nejsou vyžadovány na žádném systému s Windows 10 a novějšími verzemi. Odkazy na spolunainstalační program WDF je možné odebrat bez jakékoli dodatečné práce. Odkazy na spolunainstalační program WinUSB lze odebrat a na WinUSB by se mělo odkazovat v rámci balíčku ovladačů INF pomocí direktiv "Include" a "Needs".
pokyny k balíčku ovladačů WinUSB
Instalace softwaru, který představuje uživatelské rozhraní
Místo spuštění aplikace během instalace poskytněte aplikaci univerzální platformy Windows nainstalovanou pomocí direktivy AddSoftware z oddílu DDInstall.Software balíčku ovladače INF.
Další informace najdete v tématu Spárování ovladače s aplikací pro Univerzální platformu Windows (UPW). Direktiva AddSoftware je podporována ve verzi 1703 na Windows 10 a novějších verzích Windows.
Další podrobnosti najdete v tématu Instalace přidruženého softwaru níže.
Nastavení uživatelsky přívětivých názvů zařízení
Soubor INF
INF balíček ovladačů může nastavit přátelský název zařízení následujícím způsobem:
[DDInstall.HW]
AddReg = FriendlyName_AddReg
[FriendlyName_AddReg]
HKR,,FriendlyName,, "Device Friendly Name"
doba běhu
Popisný název může ovladač nastavit při spuštění Start IRP nebo ve fázi Připravit hardware nastavením vlastnosti DEVPKEY_Device_FriendlyName pomocí jednoho z následujících rozhraní API:
- IoSetDevicePropertyData
- WdfAssignProperty
Další nastavení/konfigurace zařízení
Pokud je to možné, ovladač může změnit nastavení a konfiguraci zařízení v rámci fáze Start IRP nebo PrepareHardware. Při úpravě stavu za běhu by ovladač měl dodržovat požadavky na izolaci balíčku ovladače . Tyto požadavky obsahují pokyny týkající se konfigurace a rozložení stavu ovladačů a pomáhají ovladači v budoucnu předvést odolnost vůči externím změnám, usnadnit aktualizaci a jednodušší instalaci.
Pro nastavení a konfiguraci, které nelze nastavit v samotném ovladači, může balíček ovladačů obsahovat také součásti modulu runtime v uživatelském režimu, které mění nastavení a konfiguraci. Může se jednat o aplikaci pro uživatele nebo službu Win32, která aktualizuje konfiguraci. Informace o tom, jak zahrnout software v uživatelském režimu pro použití se zařízením, najdete v tématu Použití souboru INF komponenty.
Pokud se používá trvalá komponenta, jako je služba, ujistěte se, že je její funkce nezbytná a nelze ji provádět méně náročným způsobem, například v rámci balíčku ovladačů INF nebo samotného ovladače. Informace o tom, jak zajistit, aby služba běžela pouze v případě, že jsou připojena relevantní zařízení, najdete v tématu Spouštěče služby, Služby Win32, které pracují se zařízeními, a Registrace pro oznámení rozhraní zařízení. Služba musí také splňovat nejnovější požadavky, například projít validátorem rozhraní API .
Instalace přidruženého softwaru
Část "Componentized" požadavků na ovladač DCH zavedla koncept s názvem SoftwareComponent, což je mechanismus pro oddělení instalace ovladače zařízení od jeho přidruženého softwaru. Když INF vytvoří softwarovou komponentu, automaticky vytvoří podřízené zařízení, které se mapuje na tuto softwarovou komponentu. Toto podřízené zařízení bude existovat za účelem instalace softwaru přidruženého k nadřazenému zařízení. Tento software lze nainstalovat a aktualizovat nezávisle na hlavním zařízení a ovladači.
V rámci balíčku ovladačů SOFTWAREComponent INF doporučený mechanismus instalace softwaru používá direktivu AddSoftware. Tím se aktivuje stahování a instalace softwaru z Windows Storu.
- SoftwarováKomponenta
- PřidatSoftware
- Ukázka balíčku ovladačů DCH
- spárování ovladače s aplikací pro UPW
Závislosti mezi ovladači a zařízeními
Závislosti na pořadí spuštění a výčtu zařízení
V co největší míře by se měly vyhnout závislosti mezi zařízeními nebo požadavky na pořadí spuštění.
U zařízení vyjmenovaná v ACPI lze objekt závislosti (_DEP) použít ve firmwaru ACPI k vynucení pořadí spouštění zařízení. Další informace najdete v tématu Obor názvů správy zařízení.
Ovladače můžou reagovat na IRP_MN_QUERY_DEVICE_RELATIONS IRP a definovat vztahy mezi zařízeními, jako jsou vztahy odstranění. Další informace najdete v tématu IRP_MN_QUERY_DEVICE_RELATIONS.
Závislosti instalace balíčku ovladače
direktivu CopyInf lze také použít k instalaci dalšího balíčku ovladače během stejného volání rozhraní API pro instalaci jako jiný ovladač. Balíček ovladače předaný do rozhraní API pro instalaci se nainstaluje před všemi balíčky ovladačů odkazovanými na CopyInf, ale balíčky ovladačů, na které odkazuje CopyInf, nejsou zaručeny, že budou nainstalovány v žádném konkrétním pořadí.
Konfigurace komponent od více dodavatelů, které jsou součástí balíčku s jedním ovladačem
Balíčky ovladačů podporují typ INF balíčku nazývaný rozšíření INF. Jedná se o soubor INF, který je speciálně navržený tak, aby rozšířil a doplnil funkčnost INF balíčku základního ovladače. Rozšíření nemusí poskytnout ovladač funkce pro zařízení, ale může jinak používat jakékoli jiné direktivy nebo zapisovat další nastavení pro zařízení. Během instalace ovladače se pomocí hodnocení ovladačů vybere jeden základní balíček ovladačů INF, aby zařízení poskytovalo funkce, pak se pro zařízení vyberou všechny přípony INF. Další informace najdete v tématu Použití přípony INF souboru.
Běžným paradigmatem pro využívání balíčku ovladačů rozšíření INF je, že výrobce hardwaru dodá základní balíček ovladačů INF, a OEM, který tuto součást instaluje do systému, vytvoří balíček ovladačů rozšíření INF, který ho přizpůsobí pro tento systém.
Instalace nebo orchestrace aktualizací firmwaru
V závislosti na povaze aktualizace zařízení se doporučují různé mechanismy aktualizace firmwaru. Každou z následujících možností můžete použít k odeslání a instalaci aktualizace firmwaru prostřednictvím služby Windows Update.
Neměnitelné
Platforma aktualizace firmwaru UEFI je navržená k aktualizaci součástí systému, které nelze odebrat, například systémový firmware. Další informace najdete v platformě aktualizace firmwaru UEFI .
Odnímatelný
U vyměnitelných zařízení, jako jsou zařízení HID nebo USB, model CFU umožňuje bezpečné aktualizace firmwaru. Další informace najdete v tématu aktualizace firmwaru komponenty.
Vlastní implementace
Případně můžete napsat vlastní ovladač, který aktualizuje firmware zařízení podle vlastního uvážení. Další informace naleznete v části Aktualizace firmwaru ovladače.