Uma solução do sharepoint não pode ser removida quando uma tarefa está agendada ou em execução

2

Estou tentando remover minha solução do SharePoint 2007, mas recebendo um erro na página do Central Admin e quando faço isso

stsadm -o deletesolution -name MySolution.wsp -override

da linha de comando retorna a seguinte mensagem de erro

"The solution cannot be removed when a job is scheduled or running"

    
por Oleg Sakharov 17.05.2012 / 08:05

3 respostas

4

A melhor solução que encontrei foi desse link: Removendo mal funcionamento das soluções do Windows SharePoint Services . Eu basicamente não tinha o serviço de Administração do WSS em execução.

  1. Faça

    stsadm -o enumsolutions
    
  2. Copie id da retratação SolutionDeploymentJob

  3. Faça

    stsadm -o canceldeployment -id [SolutionDeploymentJob id]
    
  4. Inicie o serviço Administração do WSS e altere-o para iniciar automaticamente

  5. Executar

    stsadm -o execadmsvcjobs
    
  6. Retrair e remover a solução da Central Admin como pretendia fazer antes

por 18.05.2012 / 02:03
0

Geralmente, deletesolution é precedido por retractsolution . No entanto, como a mensagem de erro informa, retractsolution pode levar algum tempo para ser executado mesmo quando não está agendado para execução posterior. Para forçar, retractsolution a executar e terminar, chame execadmsvcjobs antes de tentar outras operações.

stsadm -o retractsolution -name MySolution.wsp -immediate
stsadm -o execadmsvcjobs
stsadm -o deletesolution -name MySolution.wsp
    
por 17.05.2012 / 14:22
0

The solution is very simple. If you run the Uninstall command then in the background its doing something. So the approach is give sometime between the UnInstall command and the Remove command.

Essa abordagem funcionou para mim. Meu script do PowerShell aguarda até que a solução seja desinstalada antes de tentar removê-lo.

    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

Referência: link

    
por 05.06.2015 / 19:30