Updated: January 2011
Microsoft SharePoint Foundation has its own system for installing solutions on a SharePoint Foundation farm that is different from other Windows applications and platforms. There is no MSI file or ClickOnce technology involved.
Installation of applications on client computers that access SharePoint Foundation data through its client object model, ADO.NET Data Services, a REST service, or one of the ASP.NET web services of SharePoint Foundation are installed like any other Windows applications and this may include MSI or ClickOnce technology.
The system provides a way to bundle all the components of a SharePoint Foundation extension into a single new file, which is called a solution package. A solution package has a .cab-based format but a .wsp file extension. A solution package can contain the following:
assemblies with or without CAS policies
Features and the various components that can be inside Features (For more about Features, see Using Features in SharePoint Foundation.)
For example, you can use a solution package to deploy a Feature that contains a Web Part, including assemblies, class resources, .webpart files, and other components.
The solution framework provides the following advantages:
A unified infrastructure for deploying solutions. This makes it easier for developers to change site functionality.
Integrated deployment. Solutions enable administrators to easily install files on the front-end Web servers in a server farm. SharePoint Foundation can package all of your SharePoint Foundation entities as one file, add the file to the solution store of a farm or site collection, and deploy it to the front-end Web servers.
The solution framework enables administrators to:
Deploy new solutions and upgrade existing solutions across the server farm in one action instead of having to separately install to each server on the farm.
Changes to .config files and other configuration changes can also be included in a solution package and occur automatically when the solution is deployed.
For more information, see Installation and Deployment of a Farm Solution in SharePoint 2010.
Unified localization. Resource files and other localization components can be included in a solution package. For more information, see Localization of Farm Solutions in SharePoint 2010
When a solution package is deployed to the farm's solution store, it is called a 'farm solution' and when it is deployed to the solution store of a site collection, it is called a 'sandboxed solution'. The difference in deployment location, however, is the possibly the least significant difference between the two. Of more importance are the following differences:
The components in a farm solution generally run with full trust, although it is possible to deploy an assembly in a farm solution with a custom CAS policy that gives it less than full trust. The components of a sandboxed solution run under several significant code execution and resource access restrictions.
Only a farm administrator can install a farm solution. A site collection administrator can deploy a sandboxed solution.
Each sandboxed solution must conform to certain hard limits on the system resources that it can use. And all of the sandboxed solutions in a specific site collection, taken collectively, also must conform to certain resource restrictions.