web-dev-qa-db-ja.com

ジョブがスケジュールされているとき、または実行されているときは、SharePointソリューションを削除できません

Sharepoint 2007からソリューションを削除しようとしていますが、サーバーの全体管理ページでエラーが発生します。

stsadm -o deletesolution -name MySolution.wsp -override

コマンドラインから次のエラーメッセージを返します

「ジョブがスケジュールされているとき、または実行されているときは、ソリューションを削除できません」

2
Oleg Sakharov

私が見つけた最善の解決策は、次のリンクからのものでした: 誤動作しているWindows SharePoint Servicesソリューションの削除 。基本的にWSS管理サービスを実行していませんでした。

  1. 行う

    stsadm -o enumsolutions
    
  2. リトラクションSolutionDeploymentJobからIDをコピーします

  3. 行う

    stsadm -o canceldeployment -id [SolutionDeploymentJob id]
    
  4. WSS管理サービスを開始し、自動的に開始するように変更します

  5. 実行

    stsadm -o execadmsvcjobs
    
  6. 以前に実行するつもりだったように、ソリューションを中央管理から撤回して削除します

4
Oleg Sakharov

多くの場合、deletesolutionの前にretractsolutionが付きます。ただし、エラーメッセージに示されているように、retractsolutionは、後で実行するようにスケジュールされていない場合でも、実行に時間がかかる場合があります。強制的にretractsolutionを実行するにはand終了し、他の操作を試す前にexecadmsvcjobsを呼び出します。

stsadm -o retractsolution -name MySolution.wsp -immediate
stsadm -o execadmsvcjobs
stsadm -o deletesolution -name MySolution.wsp
0
Rich Bennema

解決策は非常に簡単です。アンインストールコマンドを実行すると、バックグラウンドで何かが実行されます。したがって、アプローチは、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

0
contactmatt