Search Wiki:
Note: This documentation applies to version 1.2 released 15-Jun-2008.

Welcome

This project is a Windows application for an eased and more user friendly installation and deployment of SharePoint 2007 solution files to a SharePoint server farm. Distribute your SharePoint solution files with this installation program instead of a raw script using STSADM.EXE to install and deploy the solution.

InstallerCheck.jpg

Installation

To install SharePoint Solution Installer, just download the latest release and unzip on a SharePoint server. Then run setup.exe to try and install the DemoSolution.wsp file.

System Requirements

  • .NET 2.0+
  • Windows SharePoint Services V3.0

Features

  • Support for all relevant operations:
    • Add solution to the SharePoint solution store.
    • Deploy solution on one or more web applications.
    • Activate feature on one or more site collections for features scoped to a Site (site collection).
    • 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.
  • Supports optionally displaying a documentation/help link at the end of installation.
  • Supports optionally displaying a relative configuration link within deployed location for each deployment target.
  • Supports a single feature inside a single WSP.
    • (Support for multiple features or WSPs is not yet supported.)
  • Support for features scoped to:
    • Farm
    • Site (site collection)
    • (Support for features scoped to the WebApplication or Web (site) is not yet supported.)

Configuration File Example for a Farm-Level Feature

The installer can be launched with setup.exe and configured via the setup.exe.config file. The following configuration example outlines the various options that can be configured:
<configuration>
    <appSettings>
        <add key="BannerImage" value="Default"/>
        <add key="LogoImage" value="Default"/>
        <add key="EULA" value="EULA.rtf"/>
        <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="FeatureScope" value="Farm"/>
        <add key="FeatureId" value="A69D3FDA-142A-4d2c-BA6D-446CE01FF1C2"/>
        <add key="UpgradeDescription" value="Upgrades {SolutionTitle} on all 
frontend web servers in the SharePoint farm. "/>
        <add key="RequireDeploymentToCentralAdminWebApplication" value="true"/>
        <add key="RequireDeploymentToAllContentWebApplications" value="false"/>
        <add key="DefaultDeployToSRP" value="false"/>    
        <add key="RequireMoss" value="true"/>    
	<add key="SSPRelativeConfigLink" value="/_layouts/MyFeature/Config.aspx"/>
        <add key="DocumentationUrl" value="http://www.mycompany.com/MyFeatureDoc.aspx"/>	
  </appSettings>
</configuration>

Configuration File Example for a Site-Level Feature

The installer can be launched with setup.exe and configured via the setup.exe.config file. The following configuration example outlines the various options that can be configured:
<configuration>
    <appSettings>
        <add key="BannerImage" value="Default"/>
        <add key="LogoImage" value="Default"/>
        <add key="EULA" value="EULA.rtf"/>
        <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="FeatureScope" value="Site"/>
        <add key="FeatureId" value="A69D3FDA-142A-4d2c-BA6D-446CE01FF1C2;5737C838-50F8-4D8C-9C60-C8DF5AD5EDCB"/>
        <add key="UpgradeDescription" value="Upgrades {SolutionTitle} on all 
frontend web servers in the SharePoint farm. "/>
        <add key="RequireDeploymentToCentralAdminWebApplication" value="false"/>
        <add key="RequireDeploymentToAllContentWebApplications" value="false"/>       
	<add key="SiteCollectionRelativeConfigLink" value="/_layouts/MyFeature/Config.aspx"/>
        <add key="DocumentationUrl" value="http://www.mycompany.com/MyFeatureDoc.aspx"/>	
  </appSettings>
</configuration>

BannerImage
Accepts a path to your own banner image. The image is automatically stretched to fit 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.

SolutionId
Specify the GUID of your solution as indicated in the manifest.xml file within your WSP. 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

SolutionTitle
The title of your solution. This is displayed on various screens within the installer.

SolutionVersion
Specify the version of your solution. The upgrade option will only show if this version number is different from the previously installed solution.

FeatureScope
Set to "Farm" if the feature in your WSP is scoped to the farm. Set to "Site" if your feature is scoped to a site collection. This value should be identical to the Scope value specified within your feature XML file within your WSP. Features scoped to the WebApplication or Web are not currently supported. The installer only supports installing a single feature within your WSP.

FeatureId
Specify the semicolon delimited list of GUIDs of the features as indicated in the feature XML files within your WSP. The installer will automatically activate these features at the end of the installation process. Specify empty value if the installer should not activate any feature.

UpgradeDescription
Text to display during an upgrade.

RequireDeploymentToCentralAdminWebApplication
Set to true if you want to force deployment of your solution to all central administration web applications.

RequireDeploymentToAllContentWebApplications
Set to true if you want to force deployment of your solution to all content web applications.

DefaultDeployToSRP
Set to true if you want the user deployment to default to all Shared Resource Providers (e.g., SSP, My Sites). The user can change this default in the deployment screen.

RequireMoss
Set to true if your solution requires Microsoft Office SharePoint Server 2007 to install and run. Leave out or set to false if your solution will settle for a WSS only farm.

SSPRelativeConfigLink
Optionally provide a relative link to a configuration page for your feature that is accessible after your farm feature is activated. This link should be relative to the site where your feature is available (e.g., the SSP URL). This applies only to features scoped to the Farm.

SiteCollectionRelativeConfigLink
Optionally provide a relative link to a configuration page for your feature that is accessible after your Site (site collection) feature is activated. This link should be relative to any site collection where your feature is available. This applies only to features scoped to the Site (site collection).

DocumentationURL
Optionally provide a complete link to where documentation is available for your feature. This is displayed at the end of installation.
Last edited Jun 15 at 12:39 PM  by lfastrup, version 24
Comments
Also available: 2 reviews for current release.

muneyi wrote  Apr 25 at 9:38 PM  
Are these values actual values

<add key="FarmFeatureId" value="A69D3FDA-142A-4d2c-BA6D-446CE01FF1C2"/>
<add key="SolutionId" value="44906C46-D7C1-4a14-A7D2-87394D9FC7E3"/>

How do I get the solutionID

hinshelmw wrote  May 5 at 1:06 PM  
fantastic solution :)

dunderwood wrote  May 5 at 7:30 PM  
Thanks for this wonderful solution. I'm currently trying to run this on Windows Server 2008 and getting an error with accesing the registry key 'SOFTWARE\Microsoft\Shared...
Shared Tools and Shared Tools Location both have full perms for Administrators which I am. I also ran the app as an administrator.
Any thoughts?

madhu918 wrote  May 7 at 10:22 AM  
Nice Tool :)

ewilde wrote  May 7 at 12:45 PM  
dunderwood, your access denied problem might be because you are running the setup program from a network share. Try copying it to a local disk drive.

kliemohn wrote  May 12 at 1:16 PM  
muneyi, the SolutionID is in your manifest.xml which is a file inside your WSP. The WSP file is a cabinet file, so you can rename it to end in .cab and extract all the files to see the manifest file.

laytrix wrote  Jun 4 at 6:37 AM  
Hi
I tried this SharePoint Solution Installer(SSI) and it works really great!

I assumed the WSPBuilder uses the same SSI's component for the setup.exe? It was really easy to setup in my VS2008 and deployed my webpart to the SP server just with few little steps.

However, I got one issue that I am not quite sure. The key element, FeatureID, in setup.exe.config doesn't seems to work for me. It keeps saying The featureID XXXXXX is not able to add to the farm for the Site Scope....(sorry can't remember the exact error message). Anyway, I removed it and it works fine....It actually deployed to the web part gallery and I think is thumbs up so far...

Because I am still in the learning curve, I would like to know what are these FeatureID and FeatureScope really do in the installatioin? Are they any different in the feature.xml in comparison....,which is already part of the installation in the wsp?

I want to deploy my web part to the "my site"(private site) globally and I'm not sure if this installation make any different when I took out the key from the setup.exe.config. It just hassle to repeat the process of uploading the web part in the gallery for each user in their 'MY Site'.

Anyway, thank you in advance if you could assist me.

UU wrote  Jun 6 at 1:58 AM  
Hi laytrix,

I even don't know how to use this tool, it seems good, I can't wait trying it. Can someone tell me step by step? I want to deploy a .wsp file to my server.

Any help will be appreciated.

laytrix wrote  Jun 9 at 10:55 PM  
Hi UU

Sorry for the late reply. Have you installed the WSPBuilder in your machine or SP Solution Installer? WSPBuilder comes with the SP Solution Installer so if you do have it, you don't need to install the SP solutioin installer again.

Once you done that, I'll try my best to describe here how i setup my WSP:

1) Open your VS and create a new solution.
2) Create a new WSPBuilder project. (I used C# for my development. So expand Visual C# and select WSPBuilder on the left pane, then select WSPBuilder Project on the right pane and name it as WSPBUilderProject1)
3) Right Click on the project >> select Add >> select New Item
4) On the left pane select WSPBuilder, then select Web Part Feature. Click OK when there is a pop out window appear (you can edit the name or description of the web feature if you want).
5) After adding the web part feature, the project structure should have automatically added some new folders and it contained the feature.xml and element.xml. These folders are based on SharePoint server directory where the 12 hives located. There is another folder called WebPartCode and a .cs file which is also created under project.
6) In the .cs file, there are some codes generated by default. Hence, if you deployed it without editing it, it will appear Hello World in your web part.
7) Right click on the project to create the sharepoint solution installation. You will see a new folder, 'Depoy', created and it has a setup.exe.config. This is the file that I wasn't sure about the FeatureID and FeatureScope configuration. I took it out in my installation. I made sure that my feature.xml has the right setting where the Scope attribute is set to Site.
8) Right click on the project, >> select WSPBuilder, >> select BuildWSP. The wsp file should be located in the root directory of your VS solution.
9) Right click on your project again, >> select Deploy (if you develop everything in one machine ie Sharepoint server and VS2005/8 in one machine)
10) The new web part should be listed in your SharePoint's web gallery and you just add the web part as you normally do.

That's it!

christophd wrote  Jun 26 at 2:38 PM  
Hey, great tool. But we got a small problem.
After undeploying a webpart by the sharepointinstaller, the webpart still shows up in the webpart catalog. Is this a bug, or do we have to delete the webpart from the webpart catalog manually?

drudolph wrote  Jul 5 at 2:07 AM  
After running WspBuilder-->Create Deployment Folder a deployment folder is created as expected but it doesn't contain the setup.exe.config file mentioned in other posts. Am I missing something?

kliemohn wrote  Aug 20 at 3:54 PM  
christophd, sorry for the late response as I don't watch comments on this page (the forum is probably a better place, but I'm still somewhat slow at responding there as well).

Regarding your question about the the webpart staying in a web part catalog, that is a feature. It is done that way by design by the SharePoint feature framework so that you do not lose any configuration. You could uninstall and reinstall and you web parts should still work fine.

So, if you want the web part removed from the gallery, you'll have to do that manually.

maggie3121 wrote  Sep 16 at 8:46 AM  
Why didn't you build a 'setup and deployment' project?

maggie3121 wrote  Sep 16 at 8:49 AM  
I just want to make a msi file .Is there anybody know that?