Microsoft 웹 배포 서비스를 설치할 때 HTTP 서비스를 중지할 수 없습니다.

이 문서는 MSDEPSVC(Microsoft Web Deployment Service)가 설치될 때 NET STOP HTTP 명령을 사용하여 HTTP 서비스를 중지할 수 없는 문제를 resolve 데 도움이 됩니다.

원래 제품 버전: Microsoft 웹 배포 서비스
원래 KB 번호: 2597817

증상

다음 시나리오를 고려하세요. IIS(인터넷 정보 서비스) 6, 7 또는 7.5를 실행하는 서버에서 HTTP 서비스를 중지하려고 합니다. 서버에는 MSDEPSVC(Microsoft Web Deployment Service)도 설치되어 있습니다. 명령줄 명령을 사용하여 NET STOP HTTP HTTP 서비스를 중지하려고 하면 명령 프롬프트에 다음 오류 메시지가 표시됩니다.

HTTP 서비스가 중지됩니다.....
HTTP 서비스를 중지할 수 없습니다.

명령을 다시 실행 NET STOP HTTP 하면 다음 메시지가 표시됩니다.

서비스가 시작 또는 중지됩니다. 나중에 다시 시도하십시오.

원인

이 문제는 MSDEPSVC(Microsoft 웹 배포 서비스)가 HTTP 서비스에 종속되어 있지만 MSDEPSVC가 처음 설치된 경우 종속성이 서비스 제어 관리자에 등록되지 않기 때문에 발생합니다. HTTP가 중지하려고 하면 종속 서비스도 중지해야 합니다. 그러나 HTTP는 등록되지 않은 종속성으로 인해 MSDEPSVC를 중지해야 하므로 서비스 중단이 실패한다는 사실을 인식하지 못합니다.

해결 방법

이 문제를 resolve 다음 스크립트를 복사하여 서버에서 PowerShell 스크립트로 실행합니다. 스크립트는 HTTP 서비스의 모든 종속성이 올바르게 등록되었는지 확인합니다.

$bFoundHttp = $false
$msdepsvc = Get-Service -name MsDepSvc
$reqsvcs = "HTTP"
$msdepsvc.ServicesDependedOn | ForEach-Object `
{
    if($_.Name -eq "HTTP")
    {
      $bFoundHttp = $true
    }
    else
    {
    if($_.Name -ne "")
     {
       $reqsvcs += "/" + $_.Name
     }
    }
}
if ($bFoundHttp -eq $false)
{
    $status = $msdepsvc.Status
    if($status -eq "Running")
    {
      Stop-Service -name MsDepSvc
    }

    sc.exe config MsDepSvc depend= $reqsvcs
    if($status -eq "Running")
    {
      Start-Service -name MsDepSvc
    }
}

문제가 해결되었는지 확인합니다. 문제가 해결되었다면 이 절에 설명된 작업이 끝난 것이지만 문제가 해결되지 않은 경우에는 기술 지원 서비스에 문의할 수 있습니다.

참조

웹 배포 도구에 대한 자세한 내용은 웹 배포 3.6을 참조하세요.