SharePoint 2010 Cookbook: How to Deploy or Remove a Solution Package Using PowerShell Commands

SharePoint 2010 introduced many new features to improve user experience. One such feature is the SharePoint 2010 Management Shell, a plug-in for Windows PowerShell which contains more than 500 commands for SharePoint administrative work. It does the same job as STSADM commands but is much more powerful. In this first post about SharePoint 2010 PowerShell, we will briefly examine deploying and removing a solution package.

Challenge:

How can I deploy/remove a solution package in SharePoint 2010 using PowerShell commands?

Solution:

To deploy/remove a solution package using PowerShell commands, you must first verify that you possess the following permissions:

  • SharePoint Farm Administrator.
  • Local Server Administrator on all Web servers.
  • db_owner permission on the content database.

Deploy a solution:

Step 1: Open SharePoint 2010 Management Shell

Select All Programs > Microsoft SharePoint 2010 Products > SharePoint 2010 Management Shell from the Start menu.

Step 2: Add the solution to the SharePoint Solutions Store. In this example, we will use the Bamboo Calendar Plus solution.

Add-SPSolution -LiteralPath <SolutionPath>

Step 3: Deploy solution.

Install-SPSolution -Identity <SolutionName> -WebApplication <URLName> [-GACDeployment] [-CASPolicies]

Where:

  • GACDeployment is the parameter that enables SharePoint 2010 to deploy the assemblies in the global assembly cache.
  • CASPolicies enables the creation of a custom code access security (CAS) policy file and activating it in the Web.config file of the targeted site collection.

These two parameters are required to deploy this specific solution.

Step 4: You can check whether your solution has been installed successfully using the following command.

Get-SPSolution <SolutionName>

Remove a solution

Step 1: Retract the solution.

Uninstall-SPSolution -Identity <SolutionName> -WebApplication <URLName>

Step 2: Remove the solution from the farm.

Remove-SPSolution -Identity <SolutionName>

Notes:

This method works with both SharePoint 2010 Foundation and Server.

See Also: