HTTP-tjänster kan inte stoppas när Microsoft Web Deployment Service har installerats

Den här artikeln hjälper dig att lösa problemet där du inte kan stoppa HTTP-tjänster med hjälp av HTTP-kommandot NET STOP när Microsoft Web Deployment Service (MSDEPSVC) har installerats.

Ursprunglig produktversion: Microsoft Web Deployment Service
Ursprungligt KB-nummer: 2597817

Symptom

Tänk dig följande scenario: Du försöker stoppa HTTP-tjänsten på en server som kör Internet Information Services (IIS) 6, 7 eller 7.5. Servern har även Microsoft Web Deployment Service (MSDEPSVC) installerat. När du försöker stoppa HTTP-tjänsten med hjälp av kommandoradsinstruktionen NET STOP HTTP visas följande felmeddelande i kommandotolken:

HTTP-tjänsten stoppas.....
DET gick inte att stoppa HTTP-tjänsten.

Om du kör NET STOP HTTP kommandot igen visas följande meddelande:

Tjänsten startas eller stoppas. Försök igen senare.

Orsak

Det här problemet beror på att Microsoft Web Deployment Service (MSDEPSVC) är beroende av HTTP-tjänsten, men när MSDEPSVC installeras från början är beroendet inte registrerat i Service Control Manager. När HTTP försöker stoppas måste även dess beroende tjänster stoppas. HTTP är dock inte medvetet om att det måste stoppa MSDEPSVC på grund av det oregistrerade beroendet och därför misslyckas tjänststoppet.

Åtgärd

Lös problemet genom att kopiera följande skript och köra det som ett PowerShell-skript på servern. Skriptet säkerställer att alla beroenden för HTTP-tjänsten registreras korrekt.

$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
    }
}

Kontrollera om problemet är åtgärdat. Om problemet är åtgärdat är du klar med det här avsnittet. Om problemet inte är åtgärdat kan du kontakta support.

Referenser

Mer information om webbdistributionsverktyget finns i Webbdistribution 3.6.