SharePoint Solution Installer
Here ya go - a free tool for eased installation and deployment of SharePoint 2007 solution files to a SharePoint server farm.
Version 1.0.3 Download: SharePointSolutionInstaller_V1_0_3.zip
The tool is FREEWARE and provided AS IS. Please comment on this post to report any issues.
** UPDATE March 25th 2007: New version 1.0.3 release. It includes a work-around for the daylight saving time (DST) bug in the SharePoint 2007 timer service, which caused the solution deployment and retraction jobs to not run until one hour after being created. The work-around basically instructs SharePoint to run the job yesterday. This will immediately kick start the timer job no matter what time zone and DST settings your server might have. Microsoft is aware of this bug and has published a knowledgebase article about it. I think we can safely assume WSS V3 SP1 will include a fix for this issue.
** UPDATE March 15th 2007: Renamed product from Generic SharePoint 2007 Solution Installer to SharePoint Solution Installer (SSI). How is that name Patrick? Maybe the single malt can power an even better name next week....
I donate this tool to the SharePoint community as I have lately come to the conclusion that you sometimes need a more user friendly and safer way of installing wsp solution files to a SharePoint farm. You espceially need it when you want to distribute a SharePoint add-on as a solution to your customers. You cannot rely on everybody out there in the wild west to be intimately familiar with solution deployment, not to mention interpreting all the error conditions that can potentially arise. Distributing a raw solution file together with a simple install.bat script will easily earn you a lot of unnecessary support cases. Trust me, I learned this the hard way.
Hence, I was motivated to develop a nice and almost fool proof solution installer for our Ontolica for SharePoint product. I ended up developing a very generic and configurable version of it. I thought it could also come in handy for other SharePoint's and quickly decided to share it with you.
The SharePoint Solution Installer includes the following features:
- Support for all relevant operations:
- Add solution to the SharePoint solution store.
- Deploy solution to one or more web applications.
- Upgrade solution.
- Retract and remove solution.
- Pre-install system check for the following conditions:
- WSS V3 is installed.
- MOSS 2007 is installed (This check can be disabled in config file),
- User has permission to install solutions.
- SharePoint database is online.
- WSS Administration service is started.
- WSS Timer service is started.
- Implements a work around for the following error conditions:
- Another solution deployment job never finished and is now blocking for the creation of a new job. Work-around: Delete old job from the list of Timer job defnitions.
- Timer service is not started: An attempt is made to start it (please note that timer services on other front ends will not be started).
- Database is offline, which will yield an ugly NullreferenceException from SharePoint offering little clue to the root cause of the problem. Work around: Detect NullreferenceException and display nice error message.
- Display EULA. (Can be disabled in config file).
- Web application list where user can select the web apps. to deploy the solution to.
- Rollback after installation errors.
- Configurable Product Title.
- Configurable banner image.
- Configurable logo image.
Here are some screen shots that will give you a better idea of the nature of the tool (Don't worry about the Mondosoft logo, you can remove it or put in your own in the config file) :
The installer can be launched with setup.exe, which can in turn be configured with the setup.exe.config file. The following configuration example outlines the various options that you can configure.
<configuration>
<appSettings>
<add key="BannerImage" value="Default"/>
<add key="LogoImage" value="Default"/>
<add key="EULA" value="EULA.rtf"/>
<add key="Require" value="MOSS"/>
<add key="FarmFeatureId" value="A69D3FDA-142A-4d2c-BA6D-446CE01FF1C2"/>
<add key="SolutionId" value="44906C46-D7C1-4a14-A7D2-87394D9FC7E3"/>
<add key="SolutionFile" value="yoursolution.wsp"/>
<add key="SolutionTitle" value="Enter Product Title Here"/>
<add key="SolutionVersion" value="1.0.0.0"/>
<add key="UpgradeDescription" value="Upgrades {SolutionTitle} on all frontend web servers in the SharePoint farm. "/>
<add key="RequireDeploymentToCentralAdminWebApllication" value="true"/>
<add key="RequireDeploymentToAllContentWebApplications" value="false"/>
</appSettings>
</configuration>
Below is a brief explanation of each configuration option:
BannerImage
Accepts a path to your own banner image. The image is automatically stretched to fir the title bar. Remove or specify empty value to omit banner image.
LogoImage
Accepts a path to your own logo image. Remove or specify empty value to omit banner image.
EULA
Accepts a path to your own EULA file. Remove or specify empty value if you do not want to present an EULA to the user.
Require
Specify MOSS if your solution requires Microsoft Office SharePoint Server 2007 to install and run. Remove or specify empty value if your solution will settle for a WSS only farm.
FarmFeatureId
Specify the GUID of the farm level feature that the installer should automatically activate at the end of the installation process. Specify empty value if the installer should not activate any feature.
SolutionId
Specify the GUID of your solution. The installer will need this to detect any existing solution in the SharePoint solution store.
SolutionFile
Specify the filename of the solution file, e.g. mysolution.wsp. Creating the solution file is of course your job entirely - but I can highly recommend you to take a look at the Visual Studio 2005 Extensions for WSS 3.0
SolutionVersion
Specify the version of your solution. The upgrade option will only show if this version number is different from the previously installed solution.
The remaining options should be self explanatory.
Del.icio.us |
Digg It |
Technorati |
Blinklist |
Furl |
reddit |
DotNetKicks
Read the complete post at http://blog.mondosoft.com/ontolica/archive/2007/03/14/Generic-SharePoint-2007-Solution-Installer.aspx