If one of Microsoft SharePoint Foundation Timer in Offline status when deploy will fail.
To check status use Powershell
Add-PSSnapin Microsoft.SharePoint.PowerShell $servers = Get-SPServer | Where{$_.Role –ne "Invalid"} foreach($server in $servers) { $serverName = $server.DisplayName $serverRole = $server.Role Write-Host "$serverName - ROLE: $serverRole" -ForegroundColor "Black" -BackgroundColor "Yellow" $servicesRunning = $server.ServiceInstances | Where{$_.Status –eq "Online" –and $_.Hidden –eq $False} Write-Host "SharePoint Services Running:" -ForegroundColor "Blue" -BackgroundColor "White" $servicesRunning | Select TypeName Write-Host "`n" }
If one of server does not contain Microsoft SharePoint Foundation Timer you should start it using Powershell
Add-PSSnapin Microsoft.SharePoint.PowerShell $farm = Get-SPFarm $disabledTimers = $farm.TimerService.Instances | where {$_.Status -ne "Online"} if ($disabledTimers -ne $null) { foreach ($timer in $disabledTimers) { Write-Host "Timer service instance on server " $timer.Server.Name " is not Online. Current status:" $timer.Status Write-Host "Attempting to set the status of the service instance to online" $timer.Provision() $timer.Start() Write-Host -ForegroundColor Red "You MUST now go restart the SharePoint timer service on server " $timer.Server.Name } } else { Write-Host "All Timer Service Instances in the farm are online! No problems found" }
Note: You MUST now go restart the SharePoint timer service on each server where problem found.