Why STSADM still kicks ass

With the release of SharePoint 2010, PowerShell has become the new cool kid on the block when it comes to deployment. STSADM has been bullied into a corner and hidden away, soon to be taken behind a shed and put out of it’s missery.

There is one area where STSADM is still the king, and PowerShell is the pimpled kid trying to get out of puberty. And I don’t see how PowerShell will beat it anytime soon.

STSADM rules when it comes to feature activation. Huh?? And the reason is very simple, it’s a good old fashioned console application.

Since it’s a console application, it will always load all the assemblies it needs before it does it’s thing. This ensures that when you activate your features, you will always be using the feature receiver that has been installed in the GAC. Ever gotten strange error messages when you try to activate features using PowerShell? I have.

PowerShell is built on the .NET framework. When an assembly has been loaded, it cannot be unloaded until the hosting Application Domain is terminated. As long as you keep your PowerShell window open, the Application Domain will be loaded. You have to start a new instance in order to have the latest assemblies loaded. With STSADM I can open a console window and keep it open for days. I can toggle between the latest commands as long as I want.

This may not be a big deal for an IT admin, but it sure is for a developer. I make a lot of changes in feature receivers and hence need to activate them. I would go nuts if I had to open new PowerShell windows all the time. STSADM isn’t sexy, but it works.


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: