SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a largish SharePoint solution with 15 wsp packages, each package contains several webparts etc. We use stsadm to uninstall and install the packages.

We deploy fairly often to the test servers. Running the deployment is taking a lot of time.

Is there anyway to make this go faster? Does the process have a high sensitivity to lack of particulat resources?

share|improve this question
up vote 2 down vote accepted

If just running stsadm without any parameters is taking a long time as well then have a look at this blog post.

Otherwise you can try the obvious, reduce the number of wsp packages or use an xcopy deployment of the '12 hive' if possible.

share|improve this answer
Thanks very interesting blog post – Shiraz Bhaiji Mar 30 '10 at 17:48

We use custom MSBuild tasks with Visual Studio to monitor changes and then robocopy changed files to the 12 hive. We also monitor *.cs files and deploy the assembly to the GAC when code changes. This can be done relatively easily using the Inputs/Outputs attributes of an MSBuild target.

    <inputFiles Include="$(ProjectDir)12\TEMPLATE\FEATURES\MyFeature\*.*" />

  <Target Name="DeployLocalFiles" Inputs="@(inputFiles)" Outputs="$(ProjectDir)obj\$(MSBuildPRjectName).tmp" >
     <Exec Command="robocopy.exe &quot;$(ProjectDir)12\TEMPLATE\FEATURES\MyFeature&quot; &quot;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\FEATURES\MyFeature&quot; /E /XA:H /XD .svn" IgnoreExitCode="true" />
     <Touch Files="$(ProjectDir)obj\$(MSBuildPRjectName).tmp" AlwaysCreate="true" />

By also disabling output caching on the local environment we can work fairly painlessly and see our changes immediately by hitting F6.

This doesn't solve the underlying issue of deploying to a test server, but does allow much easier and faster testing locally which can speed up the development process.

For deployment to other test environments we have powershell scripts that automate the stsadm commands and use Gary Lapointes excellent gl-execadmsvcjobs extension to ensure commands are flushed across all servers on the farm when executed in sequence.

share|improve this answer
Thanks, we will try this out. – Shiraz Bhaiji Apr 1 '10 at 12:28

Once you deploy use stsadm -o execadmsvcjobs

this will speed up the process

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.