我一直试图从 Sharepoint 2007 中删除我的解决方案,但在中央管理页面上收到错误,当我这样做时
stsadm -o deletesolution -name MySolution.wsp -override
从命令行它返回以下错误消息
“当作业正在安排或运行时,无法删除解决方案”
答案1
我发现的最佳解决方案来自此链接: 删除出现故障的 Windows SharePoint Services 解决方案。我基本上没有运行 WSS 管理服务。
做
stsadm -o enumsolutions
从撤消 SolutionDeploymentJob 中复制 ID
做
stsadm -o canceldeployment -id [SolutionDeploymentJob id]
启动WSS Administration服务并将其改为自动启动
跑步
stsadm -o execadmsvcjobs
按照之前的计划从中央管理中撤回并删除解决方案
答案2
通常,deletesolution
前面是retractsolution
。但是,正如错误消息所述,retractsolution
即使没有安排稍后执行,也可能需要一段时间才能运行。强制retractsolution
运行和完成,execadmsvcjobs
在尝试其他操作之前调用。
stsadm -o retractsolution -name MySolution.wsp -immediate
stsadm -o execadmsvcjobs
stsadm -o deletesolution -name MySolution.wsp
答案3
解决方案很简单。如果您运行 Uninstall 命令,那么它会在后台执行某些操作。因此,方法是在 UnInstall 命令和 Remove 命令之间留出一些时间。
这种方法对我有用。我的 powershell 脚本会等到解决方案卸载后再尝试将其删除。
Uninstall-SPSolution -Identity "$solutionName" -AllWebApplications -Confirm:$false
#waiting for uninstall to complete
$wspSolutionForUninstall = Get-SPSolution -Identity:$solutionName
while ($wspSolutionForUninstall.JobExists) {
Write-Host '.' -NoNewline
sleep -Seconds:1
$wspSolutionForUninstall = Get-SPSolution -Identity:$solutionName
}
Remove-SPSolution -Identity $solutionName -Confirm:$false -force
参考:http://www.fewlines4biju.com/2012/05/solution-cannot-be-removed-when-job-is.html