Ошибка 1072 указанная служба была отмечена для удаления

Любая сторонняя или системная служба, если она не является критически важной, может быть остановлена в оснастке управления службами или в консоли командой Net Stop Name. А если служба не нужна, так ее можно и вовсе удалить, используя команду sc delete [имя службы]. Увы, далеко не всякую службу можно удалить таким способом и причем не во всех случаях. Так, при удалении службы вы можете получить сообщение об ошибке с кодом 1072 и комментарием «Указанная служба была отмечена для удаления».

Указанная служба была отмечена для удаления

Главная причина описанной выше ошибки — запущенный процесс службы или удержание ее родительским процессом приложения, эту службу установившую. Известны также случаи, когда удалению службы препятствовал процесс самой оснастки управления службами, хотя подобное кажется маловероятным. Поэтому, перед тем как удалять службу, убедитесь, что она находится в состоянии «Остановлена».

В противном случае остановите службу через оснастку services.msc.

Services

Или запущенную от имени командную строку командой net stop [имя службы], а затем принудительно завершите и ее процесс, выполнив тут же в командной строке команду taskkill /F /IM [имя процесса службы].

CMD

После этого повторите команду удаления службы.

Sc delete

В случае успешного удаления службы команда вернет строку «успех».

Кстати, если после успешного удаления службы выполнить команду sc delete [имя службы] еще раз, вы получите ошибку с кодом 1060 и сообщением «Указанная служба не установлена».

Указанная служба не установлена

Если служба не желает удаляться через командную строку, попробуйте удалить ее через редактор реестра, однако будьте очень осторожны, так как этим способом можно удалить даже системные службы, необходимые для корректной работы операционной системы и ее компонентов.

Записав или запомнив имя службы, откройте командой regedit редактор реестра, разверните ветку:

HKLM\SYSTEM\CurrentControlSet\Services

И отыщите в раскрывшемся списке каталог с именем службы, которую хотите удалить.

RegEdit

Удалите его со всем его содержимым и перезагрузите компьютер.

Удаление службы не приводит к удалению ее исполняемого файла, но всё равно будьте осторожны, чтобы ненароком не нарушить работу Windows, если захотите таким образом избавиться от ненужных, как это вам представляется, служб.

Загрузка…

It seems that on Windows versions later than Windows 7 (unverified, but by experience latest with Windows Server 2012 R2), the Service Control Manager (SCM) is more strict.

While on Windows 7 it just spawns another process, it is now checking whether the service process is still around and may return ERROR_SERVICE_MARKED_FOR_DELETE (1072) for any subsequent call to CreateService/DeleteService even if the service appears to be stopped.

I am talking Windows API code here, but I want to clearly outline what’s happening, so this sequence may lead to mentioned error:

SC_HANDLE hScm = OpenSCManager(nullptr, nullptr, SC_MANAGER_ALL_ACCESS);

SC_HANDLE hSvc = OpenService(hScm, L"Stub service", SERVICE_STOP | SERVICE_QUERY_STATUS | DELETE);

SERVICE_STATUS ss;
ControlService(hSvc, SERVICE_CONTROL_STOP, &ss);
// ... wait for service to report its SERVICE_STOPPED state

DeleteService(hSvc);
CloseServiceHandle(hSvc);
hSvc = nullptr;

// any further calls to CreateService/DeleteService will fail
// if service process is still around

The reason a service process is still around after it already has reported its SERVICE_STOPPED state isn’t surprising. It’s a regular process, whose main thread is ‘stuck’ in its call to the StartServiceCtrlDispatcher API, so it first reacts to a stop control action, but then has to execute its remaining code sequence.

It’s kind of unfortunate the SCM/OS isn’t handling this properly for us.
A programmatic solution is kinda simple and accurate: obtain the service executable’s process handle before stopping the service, then wait for this handle to become signaled.

If approaching the issue from a system administration perspective the solution is also to wait for the service process to disappear completely.

Ошибка с кодом 1072 “Указанная служба была отмечена для удаления” возникает, когда вы пытаетесь удалить службу, которая была помечена для удаления, но которая еще не завершила процесс удаления. Это может произойти, когда процесс удаления был прерван или не удалось завершиться по какой-либо причине.

Для устранения этой ошибки можно попробовать несколько решений:

  1. Перезагрузите компьютер и попробуйте удалить службу снова.
  2. Откройте командную строку от имени администратора и выполните следующую команду:

    Замените <имя службы> на имя службы, которую вы хотите удалить.

  3. Если служба не может быть удалена с помощью команды sc delete, попробуйте следующее:
    • Откройте редактор реестра (regedit.exe).
    • Перейдите к следующему ключу реестра: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
    • Найдите ключ с именем службы, которую вы пытаетесь удалить, и удалите его.
    • Закройте редактор реестра и перезагрузите компьютер.

Если ни одно из этих решений не сработало, возможно, вам потребуется использовать специализированные инструменты, такие как Process Explorer или Autoruns, чтобы выяснить, какая служба мешает удалению нужной вам службы, и как ее удалить. Однако, использование этих инструментов требует опыта в работе с Windows, поэтому, если вы не уверены в своих знаниях, лучше обратиться за помощью к специалисту.

Любую стороннюю или системную службу, если она не критична, можно остановить в оснастке управления службами или консоли с помощью команды Название чистой остановки… А если сервис не нужен, вы можете полностью удалить его с помощью команды sc удалить [название службы]… К сожалению, таким способом можно удалить не все службы, и не во всех случаях. Поэтому при удалении службы вы можете получить сообщение об ошибке с кодом 1072 и комментарий «Указанная служба отмечена для удаления».

Указанная услуга отмечена для удаления

Основная причина описанного выше сбоя – это процесс службы, запущенный или удерживаемый процессом родительского приложения, установившим эту службу. Также бывают случаи, когда сам процесс оснастки управления службами предотвращал удаление службы, хотя это кажется маловероятным. Поэтому перед удалением службы убедитесь, что она находится в состоянии «Остановлена».

Если нет, остановите службу с помощью оснастки services.msc.

Услуги

Или командная строка, запущенная от имени команды net stop [название службы], а затем принудительно завершить его процесс, выполнив команду taskkill / F / IM [название сервисного процесса].

CMD

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

Шрам очищает

Если служба успешно удалена, команда вернет строку «success».

Кстати, если после успешного удаления службы запустите команду sc удалить [название службы] снова вы получите ошибку с кодом 1060 и сообщение «Указанная служба не установлена».

Указанная служба не установлена

Если службу не нужно удалять через командную строку, попробуйте удалить ее с помощью редактора реестра, однако будьте очень осторожны, так как этот метод также может удалить системные службы, необходимые для правильного функционирования операционной системы и ее компонентов.

Записав или запомнив название службы, откройте команду regedit редактор реестра, разверните ветку:

HKLM \ SYSTEM \ CurrentControlSet \ Services

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

RegEdit

Удалите его со всем содержимым и перезагрузите компьютер.

Удаление службы не приводит к удалению ее исполняемого файла, но будьте осторожны, чтобы случайно не остановить Windows, если вы хотите удалить то, что вы считаете ненужными службами.

Источник изображения: www.white-windows.ru

Я пытаюсь удалить службу Windows с помощью sc delete <service name> и встретить следующую ошибку:

[SC] DeleteService FAILED 1072:

Указанная служба помечена для удаления.

Что я уже сделал:

  • Остановить службу, очевидно. sc queryex "<service name>" дает следующий результат:

    SERVICE_NAME: Stub service
            TYPE               : 10  WIN32_OWN_PROCESS
            STATE              : 1  STOPPED
            WIN32_EXIT_CODE    : 1067  (0x42b)
            SERVICE_EXIT_CODE  : 0  (0x0)
            CHECKPOINT         : 0x0
            WAIT_HINT          : 0x0
            PID                : 0
            FLAGS              :
    
  • Убедитесь, что консоль управления Microsoft закрыта (taskkill /F /IM mmc.exe),

  • Убедитесь, что просмотр событий закрыт,

  • Удален ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\< имя службы > из реестра.

    Из-за этого удаления services.msc по-прежнему показывает службу (с именем, но без статуса или типа запуска), но описание «< Failed to Read Description. Код ошибки: 2 > «. При попытке просмотра свойств «Система не может найти указанный файл». отображается пять раз.

Проблема сохраняется.

Каков следующий шаг?

4b9b3361

Ответ 1

Могут быть несколько причин, которые приводят к тому, что служба застревает в «отмеченной для удаления».

  1. Открывается Process Explorer SysInternals. Закрытие должно привести к автоматическому удалению службы.

  2. Диспетчер задач открывается.

  3. Открывается консоль Microsoft Management Console (MMC). Чтобы все экземпляры были закрыты, запустите taskkill/F/IM mmc.exe.

  4. Открывается консоль служб. Это то же самое, что и предыдущий пункт, поскольку консоль службы размещена в MMC.

  5. Открывается средство просмотра событий. Опять же, это то же самое, что и третья точка.

  6. Доступен ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{имя службы}.

  7. Кто-то еще зарегистрировался на сервере и открыл одно из ранее упомянутых приложений.

  8. Экземпляр Visual Studio, используемый для отладки службы, открыт.

Ответ 2

Это также может быть вызвано открытием консоли служб. Windows фактически не удалит службу, пока она не будет закрыта.

Ответ 3

В моем случае он работал после закрытия Services. Проверьте, открыт ли Services.msc, если да, закройте его и проверьте, что какой-либо процесс обслуживания находится в Task Manager.

Ответ 4

Привет, ребята, у меня была такая же проблема, наконец я решил убить сервисный процесс.

для этого попробуйте выполнить следующие шаги:

  • получить идентификатор процесса с помощью

    sc queryex <service name>

  • уничтожить

    taskkill/F/PID <Service PID>

Ответ 5

Удаление ключей реестра, как было предложено выше, застряло у моей службы в состоянии остановки. У меня сработала следующая процедура:

откройте диспетчер задач> выберите вкладку службы> выберите службу> щелкните правой кнопкой мыши и выберите «перейти к процессу»> щелкните правой кнопкой мыши процесс и выберите «Завершить процесс»

Служба должна исчезнуть после этого

Ответ 6

Обнаружена еще одна вещь, которую нужно проверить — посмотрите в диспетчере задач — если другие пользователи подключены к этому полю, даже если они «отключены», вы должны их вывести, чтобы наконец удалить сервис.

Ответ 7

Это то, что сработало для меня:
— Я попал в ту же проблему: моя служба застряла в «помечена для удаления».
— Я открыл services.msc Моя служба действительно отображалась как работающая, хотя она уже была удалена.
— Я нажал Stop Получено сообщение об ошибке, в котором говорится, что служба не находится в состоянии получения управляющих сообщений. Тем не менее, служба была остановлена.
— Закрытые услуги .msc.
— Заново открытые услуги .msc. — Служба ушла (больше не отображается в списке услуг).

(Среда была Windows 7.)

Ответ 8

Это означает, что служба по-прежнему указана как отключенная в services.msc. Просто закройте services.msc и откройте его как администратор… Служба не будет указана. Теперь установите службу с помощью команды,

installutil «путь обслуживания»

Ответ 9

Похоже, что в версиях Windows позже Windows 7 (непроверено, но по последнему опыту с Windows Server 2012 R2) диспетчер управления службами (SCM) является более строгим.

В то время как в Windows 7 он просто запускает другой процесс, теперь он проверяет, все еще работает сервисный процесс, и может возвращать ERROR_SERVICE_MARKED_FOR_DELETE (1072) для любого последующего вызова CreateService/DeleteService, даже если служба оказывается остановленной.

Я говорю здесь код Windows API, но хочу четко изложить, что происходит, поэтому эта последовательность может привести к указанной ошибке:

SC_HANDLE hScm = OpenSCManager(nullptr, nullptr, SC_MANAGER_ALL_ACCESS);

SC_HANDLE hSvc = OpenService(hScm, L"Stub service", SERVICE_STOP | SERVICE_QUERY_STATUS | DELETE);

SERVICE_STATUS ss;
ControlService(hSvc, SERVICE_CONTROL_STOP, &ss);
// ... wait for service to report its SERVICE_STOPPED state

DeleteService(hSvc);
CloseServiceHandle(hSvc);
hSvc = nullptr;

// any further calls to CreateService/DeleteService will fail
// if service process is still around

Причина, по которой сервисный процесс все еще существует после того, как он уже сообщил о состоянии SERVICE_STOPPED, неудивительно. Это обычный процесс, основной поток которого «застревает» в своем вызове API StartServiceCtrlDispatcher, поэтому он сначала реагирует на действие управления остановкой, но затем должен выполнить оставшуюся последовательность кода.

Как ни печально, SCM/OS не справляется с этим должным образом для нас.
Программное решение является простым и точным: получить обработчик исполняемого процесса службы до остановки службы, а затем дождаться, когда этот дескриптор станет сигналом.

При приближении к проблеме с точки зрения системного администрирования решение также должно дождаться полного исчезновения сервисного процесса.

Ответ 10

В моем случае это было вызвано необработанным исключением при создании источника eventLog. Используйте try catch, чтобы указать причину.

Ответ 11

В моем случае я выполняю taskkill /f /im dongleserver.exe,
где dongleserver.exe — это файл моей программы exe.

Затем я могу переустановить мою программу уже.

Ответ 12

Закрытие каждого открытого в данный момент окна, за которым следует следующая команда, решила проблему для меня:

taskkill /F /IM mmc.exe

Ответ 13

Если шаги, предоставленные @MainMa, не работали, выполните следующие шаги

Шаг 1 Попробуйте убить процесс из диспетчера задач Windows или с помощью taskkill/F/PID. Вы можете найти pid процесса командой «sc queryex». Попробуйте выполнить следующий шаг, если вы все еще не можете удалить.

Шаг 2 Если выше

Запустить Автозапуск для Windows Поиск службы по имени и удаление результатов.

Ответ 14

Основная причина ошибки — процесс не останавливается.
чтобы разрешить его запуск диспетчера задач, перейдите к службам и посмотрите, сможете ли вы по-прежнему видеть свою службу, чем перейти к процессу этого процесса обслуживания и завершения. Затем проблема будет решена полностью.

Ответ 15

У меня была эта проблема, когда я использовал Application Verifier для проверки моего сервиса win. Даже после того, как я закрыл приложение Ver, моя служба была заблокирована от удаления. Только удаление службы из App Ver разрешило проблему, и служба была удалена сразу. Похоже, какой-то процесс по-прежнему использует ваш сервис после того, как вы попытались его удалить.

Ответ 16

действия:

шаг-1 перейти к местоположению C:\Windows\Microsoft.NET\Framework\v4.0.30319

step-2 выполнить команду: installutil/u full-path/servicename.exe

step-3 закрыть панель обслуживания и снова открыть ее

шаг-4 выполнить команду: installutil full-path/servicename.exe


Windows 10, Windows 7, Windows 8, Windows Server, Windows Vista, Windows XP

  • 21.08.2021
  • 11 255
  • 0
  • 22.08.2021
  • 7
  • 7
  • 0

Ошибка: 1072:  Указанная служба была отмечена для удаления

  • Содержание статьи
    • Описание проблемы
    • Решение проблемы
    • Добавить комментарий

Описание проблемы

При удалении службы из командной строки, с помощью команды sc delete [имя службы] можно столкнуться с ошибкой 1072:

[SC] DeleteService: ошибка: 1072:

Указанная служба была отмечена для удаления.

Решение проблемы

Как правило, такое сообщение появляется, когда было начато удаление службы, но по каким-то причинам, еще не было завершено до конца. Как правило, это возникает из-за следующих причин:

  • Процесс данной службы по прежнему запущен. Попробуйте завершить процесс через Диспетчер задач, или через командную строку, воспользовавшись следующими командами:
    net stop [ИМЯ СЛУЖБЫ]
    taskkill /F /IM [ИМЯ ПРОЦЕССА СЛУЖБЫ]

    После этого, пробуем вновь выполнить команду для удаления службы.

  • Как не странно, но запущенный список служб тоже блокирует удаление службы. Закройте окно со службами, так же на всякий случай можно закрыть вообще все окна с консолями управления Windows, завершив процессы mmc.exe через Диспетчер задач, или через комадную строку, выполнив следующую команду:
    taskkill /F /IM mmc.exe

    После этого, можно повторно выполнить команду для удаления службы.

В случае успешного удаления службы, команда для удаления службы будет возвращать уже совсем другую ошибку:

[SC] OpenService: ошибка: 1060:

Указанная служба не установлена.

Данная ошибка свидетельствует о том, что данной службы на компьютере нет.

Понравилась статья? Поделить с друзьями:
  • Ошибка 1066 как исправить
  • Ошибка 1072 при установке драйверов рутокен
  • Ошибка 1067 mssql
  • Ошибка 10668 dq500
  • Ошибка 1072 криптопро