Specifies a packaging and deployment mechanism for customizations.
Real World Example
A site categorization system that is composed of multiple interrelated features must be packaged for easy installation. You build a solution .cab format file containing the interrelated features of the site categorization system that allows deployment by using the STSADM command.
A SharePoint solution is composed of a .cab format file, with the extension .wsp, containing a manifest.xml file to guide the deployment system and various other files that make up the components of the solution. You commoly use solutions to deploy sets of features into the SharePoint environment, but you can also sue them to deploy Web Parts, security policy changes, and other files.
Following is an example manifest.xml file from a solution.
<Solution SolutionId="4AFC1350-F354-4439-B941-51377E845F2B" xmlns="http://schemas.microsoft.com/sharepoint/"> <FeatureManifests> <FeatureManifest Location="SpecLibrary\feature.xml"/> </FeatureManifests> <TemplateFiles> <TemplateFile Location="ControlTemplates\speclibraryform.ascx"/> </TemplateFiles> <RootFiles><!-- These files go into the \12\ directory and can be used for Web services and global resources. --> <RootFile Location="ISAPI\MyWebService.asmx"> </RootFiles> <Assemblies> <Assembly DeploymentTarget="GlobalAssemblyCache" Location="ms.samples.sharepoint.speclibrary.dll"/> </Assemblies> </Solution>
A solution is a recommended form of deployment for sets of customizations, because the solution has the capability to be deployed, upgraded, and even retracted.
Deployment-related issues for the individual components contained in a solution still can exist when packaged and deployed from a solution. An example of this type of issue is a Feature that adds items to a site collection when deployed, but does not remove the items when deactivated, and as such does not fully clean up after itself if the solution is retracted.