Life is too short to wait! Being a Support Engineer at Bamboo Solutions, my everyday work involves a lot of installing and testing of Web Parts. Basically, I need to install the Web Part to different environments and try to duplicate the same issues that customers are experiencing. Then, when the fix is implemented, I will install it again to check, repeatedly, until I can confirm that the fix is OK. This obviously takes a lot of time. The Bamboo Solutions Web Part Setup is good because it helps us know what is happening through each step. But what if we are already familiar with the process and just want to quickly deploy the Web Part? In this post, I will demonstrate how we can easily install a Bamboo Solutions Web Part using PowerShell script and save some time to do more valuable things.
How can I speed up the manual installation of Bamboo Web Parts, and automatically deploy Web Parts via a PowerShell script?
There are many articles on the Internet that explain how to deploy a solution using a PowerShell script. One such article which I found to be particularly useful is from Sohel’s Blog:
So I’m not going to cover the basics here, but rather talk about how we can implement the script to run with the Bamboo Solutions Web Part setup package.
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
In this example, I will deploy Calendar Plus Web Part. After clicking to download the Web Part solution from the Bamboo Solutions store, we are given an .exe file named “HW20.R4.SP2010.SL.exe”. Running it will extract all content to a folder named “HW20.R4.SP2010.SL” and will also open up the Web Part Setup as shown below:
Close the Web Part Setup and take a look at the extracted folder:
We will need to deploy all of the solutions (.wsp) under this folder, except Web License Manager. The logic is simple:
- Find all .wsp solutions under this folder and filter out the Web License Manager solution.
- For each solution, check whether it has already been deployed. If yes, remove it.
- If the solution has not been deployed, install it.
Here is the deployment script (DeployBambooWebpart.ps1):
We can then create a batch file to run this script as follows:
Put both the script and batch file in the extracted folder (HW20.R4.SP2010.SL) and run the batch file to install this Web Part.
- This method works with both SharePoint 2010 Foundation and Server.
- This script has not been tested with all Bamboo Solutions Web Parts. Theoretically, it should work with most of them, but will not work with all of them. For example, if we try to deploy Bamboo List Rollup Web Part R5.0 using this script, we will get an error because some solutions need to be deployed prior to others.
- Deploy solution packages (TechNet)
- Running Windows PowerShell Scripts (TechNet)
- SharePoint 2010 Deployment: PowerShell Script (Sohel’s Blog)
- Bamboo Solutions Installation Best Practices (KB Article)