6

Я не могу запустить службу диспетчера очереди печати, потому что некоторые зависимости еще не запущены.

Поэтому я посмотрел на зависимости в меню параметров. Я обнаружил, что в моих services.msc нет службы HTTP. Поэтому я начал изучать, как установить службу HTTP вручную.

Я вошел в Add Programs and Features и установил все службы IIS и World Wide Web Publishing , но безрезультатно.

Я пытаюсь установить службу HTTP на компьютере разработчика, на котором уже работает служба Apache. Я не знаю, может ли это повлиять на службу HTTP.

В основном мне нужно знать одну из двух вещей:

1 - Как установить службу HTTP вручную из DLL (я не думаю, что это возможно)

2. Как устранить проблему, чтобы служба HTTP была установлена, чтобы я мог запустить диспетчер очереди печати принтера.

Заметьте, что файл winhttp.dll находится в папке 32 моей системы.

search-ms:displayname=Search%20Results%20in%20system32&crumb=filename%3A~<Winhttp.dll%20OR%20System.Generic.String%3AWinhttp.dll&crumb=location:C%3A%5CWINDOWS%5Csystem32

РЕДАКТИРОВАТЬ (показывая результаты для sc qc spooler из cmd) из @ w32sh

[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: spooler
        TYPE               : 110  WIN32_OWN_PROCESS (interactive)
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\WINDOWS\System32\spoolsv.exe
        LOAD_ORDER_GROUP   : SpoolerGroup
        TAG                : 0
        DISPLAY_NAME       : Print Spooler
        DEPENDENCIES       : RPCSS
                           : http
        SERVICE_START_NAME : LocalSystem

3 ответа3

7

Службы MMC не перечисляют http , поскольку это драйвер, а не служба.

Эти две команды расскажут вам, как настроен драйвер http и что происходит, когда они запускаются. В командной строке администратора введите:

sc qc http

Чтобы запустить http драйвер:

net start http

(последний попытается запустить http и покажет код ошибки, если он не запустится.)

1

Спасибо Win32Guy и Jacques Koekemoer за прекрасную работу, интерпретацию и ссылку Technet. SC: Microsoft Docs

Я хотел бы принять во внимание более широкие аспекты, держать Print Spooler в центре и развивать понимание. Я хотел бы отметить:

  1. Дерево зависимостей диспетчера очереди печати, т.е. системные компоненты Print Spooler зависят от:

    1. Диспетчер очереди печати (Spooler) зависит от удаленного вызова процедур (RPCSS) и службы HTTP (http)
    2. RPCSS зависит от средства запуска процесса сервера DCOM (DcomLaunch) и сопоставителя конечных точек RPC (RpcEptMapper)
    3. http не имеет никаких зависимостей.
    4. Dcomlaunch & RpcEptMapper не имеет зависимостей.
    5. Итак, теперь мы нашли правильное дерево и корни. Очевидно, мы должны начать с корней!
    6. http не является службой и фактически драйвером, но все остальные являются службами и расположены в /by services.msc. Вы не можете найти http там.
    7. Возникает вопрос, как работать с / на http? Команды sc хороши для работы с http, а также с сервисами, упомянутыми в services.msc.
  2. Каковы идеальные конфигурации для пятерки ? У меня есть идеальные конфигурации на моем компьютере / ПК для всех пяти. Я запусту команду sc qc для пяти и покажу информацию здесь, чтобы каждый мог проверить / сопоставить это, как показано ниже:

C:\Users\LittlePro>sc qc DcomLaunch
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: DcomLaunch
        TYPE               : 20  WIN32_SHARE_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\Windows\system32\svchost.exe -k DcomLaunch
        LOAD_ORDER_GROUP   : COM Infrastructure
        TAG                : 0
        DISPLAY_NAME       : DCOM Server Process Launcher
        DEPENDENCIES       :
        SERVICE_START_NAME : LocalSystem

C:\Users\LittlePro>sc qc RpcEptMapper
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: RpcEptMapper
        TYPE               : 20  WIN32_SHARE_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\Windows\system32\svchost.exe -k RPCSS
        LOAD_ORDER_GROUP   : COM Infrastructure
        TAG                : 0
        DISPLAY_NAME       : RPC Endpoint Mapper
        DEPENDENCIES       :
        SERVICE_START_NAME : NT AUTHORITY\NetworkService

C:\Users\LittlePro>sc qc RPCSS
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: RPCSS
        TYPE               : 20  WIN32_SHARE_PROCESS
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\Windows\system32\svchost.exe -k rpcss
        LOAD_ORDER_GROUP   : COM Infrastructure
        TAG                : 0
        DISPLAY_NAME       : Remote Procedure Call (RPC)
        DEPENDENCIES       : RpcEptMapper
                           : DcomLaunch
        SERVICE_START_NAME : NT AUTHORITY\NetworkService

C:\Users\LittlePro>sc qc http
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: http
        TYPE               : 1  KERNEL_DRIVER
        START_TYPE         : 3   DEMAND_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : system32\drivers\HTTP.sys
        LOAD_ORDER_GROUP   :
        TAG                : 0
        DISPLAY_NAME       : HTTP Service
        DEPENDENCIES       :
        SERVICE_START_NAME :

C:\Users\LittlePro>sc qc Spooler
[SC] QueryServiceConfig SUCCESS

SERVICE_NAME: Spooler
        TYPE               : 110  WIN32_OWN_PROCESS (interactive)
        START_TYPE         : 2   AUTO_START
        ERROR_CONTROL      : 1   NORMAL
        BINARY_PATH_NAME   : C:\Windows\System32\spoolsv.exe
        LOAD_ORDER_GROUP   : SpoolerGroup
        TAG                : 0
        DISPLAY_NAME       : Print Spooler
        DEPENDENCIES       : RPCSS
                           : http
        SERVICE_START_NAME : LocalSystem
  1. Начните с корней и внесите изменения в конфигурацию с помощью команды sc config

4.Я думаю, что можно использовать команду net start для запуска любой службы, если она правильно настроена. (если нужно!)

  1. Что сэр Win32Guy говорит о зависимости спулера от http:«Хотя драйвер" http "указан в качестве одной из зависимостей службы Spooler при чистой установке Windows, Spooler может функционировать даже без http». Так что, возможно, эта ссылка является решением для некоторых people:«Исправьте ошибку службы Spooler 1068" Служба зависимостей или группа не запустились "Сэр Рамеш Сринивасан Но я ищу реальное решение!

(Эти конфигурации идентичны в win 7, win 8 и win 10 32/64. Таким образом, эта тема работает через все из них)

(Эти ссылки могут пригодиться для служб из services.msc:как восстановить службы по умолчанию в Windows 7

Конфигурации услуг Black 7 для Windows 7 с пакетом обновления 1 (SP1 )

(Это то, что я мог понять с моим небольшим знанием. Комментарии и предложения приветствуются и приветствуются)

0

В моем случае проблема заключалась в том, что WinQuic указан как зависимость HTTP, а HTTP - это зависимость службы диспетчера очереди печати. WinQuic, по-видимому, отсутствует после обновления до Windows 10 1809:

C:\WINDOWS\system32>sc qc winquic 
[SC] OpenService FAILED 1060: 
The specified service does not exist as an installed service.

Решением было экспортировать ключи реестра с работающего компьютера 1809 года:[Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinQuic]

Ключи были объединены, затем система перезагрузилась. Служба диспетчера очереди печати работала, и все отсутствующие принтеры появлялись снова.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .