Sharepoint 2007からソリューションを削除しようとしていますが、サーバーの全体管理ページでエラーが発生します。
stsadm -o deletesolution -name MySolution.wsp -override
コマンドラインから次のエラーメッセージを返します
「ジョブがスケジュールされているとき、または実行されているときは、ソリューションを削除できません」
私が見つけた最善の解決策は、次のリンクからのものでした: 誤動作しているWindows SharePoint Servicesソリューションの削除 。基本的にWSS管理サービスを実行していませんでした。
行う
stsadm -o enumsolutions
リトラクションSolutionDeploymentJobからIDをコピーします
行う
stsadm -o canceldeployment -id [SolutionDeploymentJob id]
WSS管理サービスを開始し、自動的に開始するように変更します
実行
stsadm -o execadmsvcjobs
以前に実行するつもりだったように、ソリューションを中央管理から撤回して削除します
多くの場合、deletesolution
の前にretractsolution
が付きます。ただし、エラーメッセージに示されているように、retractsolution
は、後で実行するようにスケジュールされていない場合でも、実行に時間がかかる場合があります。強制的にretractsolution
を実行するにはand終了し、他の操作を試す前にexecadmsvcjobs
を呼び出します。
stsadm -o retractsolution -name MySolution.wsp -immediate
stsadm -o execadmsvcjobs
stsadm -o deletesolution -name MySolution.wsp
解決策は非常に簡単です。アンインストールコマンドを実行すると、バックグラウンドで何かが実行されます。したがって、アプローチは、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