当作业正在安排或运行时,无法删除 SharePoint 解决方案

当作业正在安排或运行时,无法删除 SharePoint 解决方案

我一直试图从 Sharepoint 2007 中删除我的解决方案,但在中央管理页面上收到错误,当我这样做时

stsadm -o deletesolution -name MySolution.wsp -override

从命令行它返回以下错误消息

“当作业正在安排或运行时,无法删除解决方案”

答案1

我发现的最佳解决方案来自此链接: 删除出现故障的 Windows SharePoint Services 解决方案。我基本上没有运行 WSS 管理服务。

  1. stsadm -o enumsolutions
    
  2. 从撤消 SolutionDeploymentJob 中复制 ID

  3. stsadm -o canceldeployment -id [SolutionDeploymentJob id]
    
  4. 启动WSS Administration服务并将其改为自动启动

  5. 跑步

    stsadm -o execadmsvcjobs
    
  6. 按照之前的计划从中央管理中撤回并删除解决方案

答案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

相关内容