STSADM.exe - “操作成功完成” - 两次?

时间:2009-10-06 14:19:53

标签: sharepoint sharepoint-2007 sharepoint-deployment

对于这样的命令:

C:\>stsadm -o upgradeSolution -name zzz.wsp -filename zzz.wsp -allowGacDeployment -local

我收到成功陈述的两个输出而不是一个:

Operation completed successfully.

Operation completed successfully.

它似乎与-local标志有关,所以我的猜测是它成功创建计时器作业然后在引擎盖下运行execadmsvcjobs。

stsadm -o execadmsvcjobs

对此的想法?

2 个答案:

答案 0 :(得分:1)

您应谨慎使用升级解决方案,因为它不支持向解决方案包添加新功能。

另请注意,如果您使用-local,则只在本地WFE上部署。为了保持一致性,我总是使用-immediate,在我完成添加计时器作业后,运行stsadm -o execadmsvcjobs

我不确定这两条消息,但由于升级解决方案是一个两阶段操作,首先添加新版本的旧解决方案,然后添加它,这就是你有两条消息的原因。

答案 1 :(得分:1)

不幸的是,我认为这不像看起来那么令人兴奋......

在STSADM中,如果部署本地解决方案(立即),会发生以下情况(破解反射器):

    base.DeployRetractSolution(solution, urls, userTypedIn, lcid, gacInstallWPPackDlls, true, force);
    base.OutputSucceedMessage();

但是,如果在服务器场中部署解决方案(计时器作业),则会发生以下情况:

base.CreateSolnDeployTimerJob(strTime, immediate, solution, urls, userTypedIn, SPSolutionDeploymentJobType.Deploy, lcid, gacInstallWPPackDlls, force);

base.OutputSucceedMessage(); 只是将“已成功完成操作”的本地化语言版本写入控制台。

这两个都在生成STSADM SPOperation(以及“Operation Completed Successfully”控制台消息)的引擎下做了一些事情,但是直接的那个只有另一个 base.OutputSucceedMessage(); 就可以了