SharePoint Client Object Model Redistributable Released

Microsoft has released theSharePoint Foundation 2010 Client Object Model Redistributable. The assemblies for the .NET and Silverlight versions  of the SharePoint client object model are included. 

Microsoft.SharePoint.Client.dll
Microsoft.SharePoint.Client.Runtime.dll
Microsoft.SharePoint.Client.Silverlight.dll
Microsoft.SharePoint.Client.Silverlight.Runtime.dll

The installer deploys these to the C:\Program Files\Common Files\Microsoft Shared\SharePoint Client folder of the development computer. (There are versions for 64-bit and x86 client computers.) In addition, resource assemblies are deployed to a subfolder named with the culture ID.

The redistributable package must be installed on any client machine where your .NET client application is installed. You can either give users instructions on where to obtain it or you can include the redistributable in your installation package. This insures that the redistributable can participate in Windows Update and that each client computer has a legal copy of the assemblies. Some installation technologies enable you to call the redistributable's MSI file so the installation of the SharePoint .NET client assemblies and your application is seamless. SharePoint client assemblies obtained in other ways cannot be legally redistributed.

You may distribute the assemblies for the Silverlight version along with a solution that targets them. They can be encased inside the Silverlight xap file. Alternatively, your solution can reference the Microsoft.SharePoint.Client.xap located on every SharePoint server in the SharePoint root: ...14\TEMPLATE\LAYOUTS\ClientBin folder.  It is also possible to cache the Silverlight assemblies. They are located in that same folder.

Note that the third version of the SharePoint client object model, the JavaScript/JScript version, is defined in *.js files. These, of course, are downloaded to client computer when a SharePoint page that references them is opened. The default SharePoint master page references these files. Unless your solution includes a custom master page, you do not need to reference them in your own custom pages.