Skip to Content

Как решать проблему «А deployment or retraction is already under way...» в MOSS2007?

Опубликовано в

Одна из проблем, с которой сталкивался каждый, кто более-менее активно работал с SharePoint – невозможность сделать retract или redeploy для солюшенов, в процессе деплоймента которых произошла ошибка. В этом случае, в Solution Management обычно красуется лаконичная надпись «Error» напротив имени солюшена и сделать с ним что-либо из веб интерфейса невозможно. Естественно, что после безуспешных попыток вернуть SharePoint к жизни через Central Administration, сразу же следуют не менее безуспешные попытки сделать это при помощи stsadmin. Но, не все так просто как хотелось бы, и при попытке передеплоить солюшен при помощи команды:  

stsadm -o deploysolution -name "%PackageName%" -local -allowGacDeployment -url %TargetWebUrl%

или сделать ему retract: 

stsadm -o retractsolution -name "%PackageName%" -local -url %TargetWebUrl%

вы получите вот такую ошибку: 

A deployment or retraction is already under way for the solution "SolutionName.wsp", and only one deployment or retraction at a time is supported 

Не избавит вас от этой ошибки и добавление ключей -force к этим командам.

Но не беда, выход есть. Правда, он как всегда не очевиден, но, к счастью, прост.

  1.Находим GUID той самой зависшей задачи при помощи команды 

stsadm -o enumdeployments

  2.Копируем этот GUID и подставляем его вместо JobID в приведенную ниже команду 

stsadm-o canceldeployment-id "JobID"

  3.Проверяем, что задача действительно отменена 

stsadm -o enumdeployments

4.Радуемся Smile

  Удачного деплоймента! ;)