Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aby uniknąć ponownego uruchamiania systemu podczas instalacji urządzeń, należy użyć następujących reguł:
Nigdy nie używaj wpisów Restart lub Ponowne uruchomienie w sekcjach INF DDInstall. Dyrektywy te zostały pierwotnie udostępnione pod kątem zgodności z systemem Windows 9x/Me i nie powinny być używane dla systemu Windows 2000 i nowszych wersji systemu Windows.
Nie używaj flag COPYFLG_FORCE_FILE_IN_USE ani COPYFLG_REPLACE_BOOT_FILE z dyrektyw INF CopyFiles, chyba że jest to absolutnie konieczne.
Ustaw wszystkie pliki w pakiecie sterowników , aby były uruchamiane z Magazynu sterowników.
Jeśli pliki w pakiecie sterowników nie są uruchamiane z Magazynu Sterowników ("Driver Store"), należy przypisać nową nazwę pliku do każdej nowej wersji instalatora klasy, współinstalatora lub biblioteki DLL usługi. Pozwala to uniknąć konieczności ponownego uruchomienia systemu, jeśli jest używana starsza wersja. (W rzeczywistości, jeśli nowa nazwa pliku nie jest używana dla zaktualizowanego instalatora klasy lub współinstalatora klas, te nowe pliki nie będą używane do instalacji).
Aby zaktualizować sterowniki urządzenia, postępuj zgodnie z regułami wymienionymi w obszarze Aktualizowanie plików sterowników.
Minimalizacja ponownego uruchamiania podczas aktualizowania sterowników opartych na plikach
Przed systemem Windows 10 wszystkie sterowniki trybu jądra były wspierane przez plik stronicowania systemu. W związku z tym plik binarny sterownika może zostać zastąpiony na dysku nawet wtedy, gdy sterownik był uruchomiony.
Aby zwiększyć wydajność, począwszy od systemu Windows 10, większość sterowników bez uruchamiania jest zamiast tego wspierana przez plik binarny sterownika na dysku.
Typy uruchamiania sterowników, które są teraz oparte na plikach, obejmują:
SERVICE_SYSTEM_START (0x00000001)
SERVICE_AUTO_START (0x00000002)
Rozpoczęcie_usługi_na_żądanie (0x00000003)
Sterowniki uruchamiania rozruchu nadal są wspierane przez plik stronicowania.
Aby zaktualizować sterownik oparty na plikach, skorzystaj z poniższych najlepszych rozwiązań. W przeciwnym razie aktualizacja może wymagać dwóch ponownych uruchomień, po jednym, aby zastąpić plik i drugą, aby załadować nową wersję sterownika.
Jeśli używasz pliku INF, wykonaj następujące kroki:
Zmodyfikuj sekcję CopyFiles w pliku INF sterownika, aby użyć opcji COPYFLG_IN_USE_RENAME, w sposób następujący:
[MyDriver_Install.NT] CopyFiles=MyDriverCopy [MyDriverCopy] MyDriver.sys,,,0x00004000 ; COPYFLG_IN_USE_RENAMEJeśli używasz tej flagi, system Windows próbuje zastąpić plik sterownika na dysku. Aby uzyskać więcej informacji, zobacz dyrektywę INF CopyFiles .
Jeśli inf jest przeznaczony dla sterownika PnP, podczas instalacji urządzenia system Windows próbuje zwolnić uruchomiony sterownik i ponownie uruchomić urządzenia, które go używają, aby pobrać nową wersję sterownika. Jeśli to się nie powiedzie, instalacja urządzenia wskazuje, że system powinien zostać uruchomiony ponownie.
Jeśli inf nie jest przeznaczony dla sterownika PnP i używasz metody, takiej jak InstallHInfSection do przetwarzania INF, należy ręcznie zatrzymać i ponownie uruchomić sterownik:
Zamknij wszystkie otwarte dojścia do sterownika, a następnie zatrzymaj sterownik przy użyciu jednej z następujących metod:
sc.exe stop <mydriver>ControlService(SERVICE_CONTROL_STOP)
Aby uzyskać więcej informacji, zobacz ControlService, funkcja.
Jeśli nie używasz pliku INF, wykonaj następujące kroki:
Zatrzymaj kierowcę, zgodnie z powyższym opisem. Zastąp stary plik binarny sterownika nowym.
Jeśli nie możesz zatrzymać sterownika, zmień nazwę istniejącego pliku, skopiuj nowy plik na miejsce i skonfiguruj istniejący plik do usunięcia w przyszłości (na przykład przy użyciu MoveFileEx z flagą MOVEFILE_DELAY_UNTIL_REBOOT). Aby rozpocząć korzystanie z nowej wersji sterownika, należy ponownie uruchomić system.
Tematy pokrewne
File-Backed i sekcje Strona-File-Backed