代码之家  ›  专栏  ›  技术社区  ›  Chris Ballance

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

  •  1
  • Chris Ballance  · 技术社区  · 15 年前

    对于这样的命令:

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

    我收到成功声明的两个输出,而不仅仅是一个:

    Operation completed successfully.
    
    Operation completed successfully.
    

    它似乎与 -local 标记,所以我猜它会成功地创建 计时器作用 然后在引擎盖下运行execadmsvcjobs。

    stsadm -o execadmsvcjobs
    

    有什么想法吗?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Brandon    15 年前

    不幸的是,我认为这并不像看上去那么令人兴奋…

    在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.outputSecuredMessage(); 只需将“操作已成功完成”的本地化语言版本写入控制台。

    这两种方法都在引擎盖下执行,生成一个stsadm spoperation(和一个“operation completed successfully”(操作已成功完成)控制台消息),但立即发生的一种方法只有另一种。 base.outputSecuredMessage(); 关于它。

        2
  •  1
  •   Anders Rask    15 年前

    您应该小心使用UpgradeSolution,因为它不支持向解决方案包添加新功能。

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

    我不确定这两条消息,但是由于upgradeSolution是一个两阶段的操作,它首先添加旧解决方案的新版本,然后再添加,所以这就是为什么您收到两条消息的原因。

    推荐文章