<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft SharePoint Developer Documentation Team Blog</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/default.aspx</link><description>Official Blog of the SharePoint Developer Documentation Team</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SharePoint 2010 SDK Code Samples Posted to Code Gallery</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/10/23/SharePoint2010SDKCodeSamplesonCodeGallery.aspx</link><pubDate>Fri, 23 Oct 2009 23:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9912307</guid><dc:creator>Andrew May</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/9912307.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=9912307</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;For the SharePoint 2010 release, we’re trying something a little different with our sample code solutions. During the Beta timeframe, we’re going to be posting them to Code Gallery, rather than waiting to release them in the SharePoint 2010 SDK for the first time at RTM. This will let developers benefit from having the code samples available as early as possible. And we’re hoping it’ll benefit the code samples by having the SharePoint developer community giving us feedback on the samples and how we can make them better. We’ll include the code samples in their final form in the SharePoint 2010 SDK download at RTM.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;We’ll be keeping the list below up-to-date each time we release a new code sample, so you might want to bookmark this post. (We’ve already got three samples posted, and the SharePoint 2010 Beta isn’t scheduled for public availability until next month.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Unless otherwise noted, each code sample is written in C#.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;SharePoint Foundation 2010 Code Samples&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;A href="http://code.msdn.microsoft.com/sppt14IBackupRestore"&gt;&lt;FONT size=3 face=Calibri&gt;Implementation of IBackupRestore&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;This sample is a custom content class that implements Microsoft.SharePoint.Administration.Backup.IBackupRestore. Objects that instantiate this interface appear in the backup/restore UI of the SharePoint Central Administration application as items that can be selected for backup or restoration.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;SharePoint Server 2010 Code Samples&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;A href="http://code.msdn.microsoft.com/activityfeedsconsole"&gt;&lt;FONT size=3 face=Calibri&gt;Activity Feeds Console Application&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;A console application that demonstrates the basic functions of a custom activity feed gatherer application. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;This sample creates a custom activity feed gatherer and demonstrates how to use the new Activity Feed object model in Microsoft SharePoint Server 2010. The sample creates custom ActivityTemplate, ActivityType, and ActivityEvent objects and shows how to publish and multicast events from a custom gatherer. Console output verifies that each step in the application is finished.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;A href="http://code.msdn.microsoft.com/socialstatswebpart"&gt;&lt;FONT size=3 face=Calibri&gt;Social Data Statistics Web Part&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;A Web part that displays social data statistics. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;This sample consists of a Microsoft Visual Studio 2010 SharePoint Visual Web part project. After you build and deploy this project on your Microsoft SharePoint Server 2010 site, you can add this Web part to any page where you want to display statistics for the social tagging activities of your users. The Web part displays the following information in three tables:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Each URL that has been tagged, and the terms with which each URL has been tagged.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Each term that has been used in a social tag, and the number of times that term has been used.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Each user who has added a social tag, and the number of times that user has tagged URLs. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The sample demonstrates how to use the new Social Data object model in SharePoint Server 2010. It also takes advantage of the SharePoint Visual Web Part template, one of the new SharePoint templates that you can use in Visual Studio 2010.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9912307" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Samples/default.aspx">Samples</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint+SDK/default.aspx">SharePoint SDK</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint+2010+Beta/default.aspx">SharePoint 2010 Beta</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/code+samples/default.aspx">code samples</category></item><item><title>Got Code?</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/10/20/GotCodeSamplesforSharePoint2010SDK.aspx</link><pubDate>Wed, 21 Oct 2009 01:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9910298</guid><dc:creator>Andrew May</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/9910298.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=9910298</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;B&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Contribute a Code Sample and Get Your Name in the SharePoint 2010 SDK&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;We’re looking for experienced SharePoint developers to share their skill and technical expertise with the SharePoint community. You’ll help your fellow SharePoint developers, and receive full attribution in the SharePoint SDK for doing so! &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3 face=Calibri&gt;What we’re looking for are short code samples, what we on documentation teams tend to think of as ‘snippets’. A handful of lines that illustrate a discreet task or show how to exercise a specific piece of the object model, rather than a full-blown solution that addresses an entire scenario. Basically, the short code samples you’d find in a typical reference topic like &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;this one&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;In particular, we’re on the hunt for code samples that do one or more of the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1; mso-pagination: none" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Show developers how to accomplish common SharePoint tasks programmatically&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1; mso-pagination: none" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Illustrate best coding practices in using the SharePoint object model&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1; mso-pagination: none" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Demonstrate how to avoid pitfalls when using lesser-known areas of the SharePoint object model&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo1; mso-pagination: none" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Or otherwise show off the power and flexibility of developing SharePoint solutions&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If you’re an experienced SharePoint developer, you probably have a toolbox of code snippets like these already; sections of code that you use over and over to perform the same routine tasks, or pieces of code that you’re particularly proud of having come up with as work-arounds for some of the, um, “eccentricities” of the SharePoint object model.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3 face=Calibri&gt;What we’re asking is that you share your hard-won knowledge by letting us publish your code samples in our SDK reference topics. In return, we want to make sure you get full credit, by giving you attribution right in the topic where the code sample appears. This includes a link to your company site. You can see an early example of this in this reference topic for the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.workflowactions.createtaskwithcontenttype(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.workflowactions.createtaskwithcontenttype(office.14).aspx"&gt;&lt;FONT size=3 face=Calibri&gt;CreateTaskWithContentType&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; class.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The SDK gets more real-world code samples, and you get increased visibility within the larger SharePoint developer community.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3 face=Calibri&gt;To submit a code sample, just shoot us an email including your code sample(s) at &lt;/FONT&gt;&lt;A href="mailto:gotcode@microsoft.com" mce_href="mailto:gotcode@microsoft.com"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;gotcode@microsoft.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. Include a short description of what each code sample does, or what task you would use the code sample to accomplish. Oh, and if there are any prerequisites that need to be specified for your code sample to run successfully, that’d be great to know as well. (For example, the code sample on the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;SPList class topic&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; lists a few &lt;B style="mso-bidi-font-weight: normal"&gt;using&lt;/B&gt; directives, and the existence of an .aspx page containing a label control, as prerequisites.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I’ve attached a zip with our code sample guidelines and some sample data to this post. These are the best practices for writing code samples that we give our external partners who write samples for us. For the best chance of getting your sample included in the SDK, take a look at the best practices for code snippets (the guidelines are really short, and won’t take more than a few minutes to review, I promise.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Now, since the SharePoint 2010 Betas aren’t due out until November, for now we’re talking about code snippets written against the WSS 3.0 or MOSS 2007 object models. Go ahead and send them our way. And once you’ve worked with the SharePoint 2010 Betas a bit, you’ll undoubtedly create some useful or illuminating code samples in fairly short order. Send those our way as well. You could end up with a byline in the SharePoint SDK!&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt; mso-pagination: none" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3 face=Calibri&gt;Any questions, feel free to ping &lt;/FONT&gt;&lt;A href="mailto:gotcode@microsoft.com" mce_href="mailto:gotcode@microsoft.com"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;gotcode@microsoft.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;, or leave a comment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910298" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/sharepointdeveloperdocs/attachment/9910298.ashx" length="2460759" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Samples/default.aspx">Samples</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint+SDK/default.aspx">SharePoint SDK</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Got+Code_3F00_/default.aspx">Got Code?</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/code+samples/default.aspx">code samples</category></item><item><title>First Look: SharePoint 2010 Developer Documentation Now Live on MSDN!</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/10/19/SharePoint2010BetaDevDocsLive.aspx</link><pubDate>Mon, 19 Oct 2009 19:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9909388</guid><dc:creator>Andrew May</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/9909388.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=9909388</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;By now you’ve probably been hearing some of the big news coming out of the &lt;/FONT&gt;&lt;A href="http://www.mssharepointconference.com/pages/default.aspx" mce_href="http://www.mssharepointconference.com/pages/default.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;SharePoint Developer Conference&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; being held this week in Las Vegas. Doubtlessly, there’ll be tons more great information coming out of the Conference over the next four days concerning what’s new and notable in SharePoint Foundation 2010 and SharePoint Server 2010. But if you weren’t lucky enough to make it to Vegas this year, or are there but can’t wait for the session on your favorite area of SharePoint development, then have we got something you’ll want to take a close look at:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Introducing the SharePoint 2010 (Beta) Developer Center &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;That’s right, this morning we launched the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee514561.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;SharePoint 2010 (Beta) Developer Center&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; on MSDN. We’re using this new, combined Developer Center to give you your first detailed, public technical information and instruction around both SharePoint Foundation and SharePoint Server 2010. This new sub-site of the revamped &lt;SPAN style="COLOR: red"&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/default.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/default.aspx"&gt;&lt;FONT color=#0000ff&gt;SharePoint Developer Center&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt; highlights some early videos, documentation, and hands-on lab walkthroughs to introduce you to the exciting developer features on both SharePoint Foundation 2010 and SharePoint Server 2010.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;But that‘s not all: we’ve also published a Beta release of the combined &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee557253(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee557253(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;SharePoint 2010 SDK&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;!&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;You’ll definitely want to spend some time on the site, getting ramped up for when the SharePoint 2010 Betas are released in November.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Learn SharePoint from the Ground Up&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Of particular interest to developers new to SharePoint will be the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Get Started Developing on SharePoint 2010&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. We’ve put together a series of 10 modules to help you get your feet wet on some of the main areas of SharePoint development, including:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513148.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513148.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Building Web Parts&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513149.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513149.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;What Developers Need to Know About SharePoint 2010&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513150.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513150.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Building Blocks for Web Part Development&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513151.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513151.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Accessing Data and Objects with Server-Side APIs&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513152.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513152.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Accessing Data and Objects with Client-Side APIs&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513153.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513153.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Accessing External Data with Business Connectivity Services&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513154.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513154.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Developing Business Processes with Workflows&lt;/FONT&gt;&lt;/A&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513155.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513155.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Creating Silverlight User Interfaces&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513156.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513156.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Sandboxed Solutions for Web Parts&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l3 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/sharepoint/ee513157.aspx" mce_href="http://msdn.microsoft.com/en-us/sharepoint/ee513157.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Creating Dialog Boxes and Ribbon Controls&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Each module includes multiple video lessons, as well as code samples and hands-on lab walkthroughs, to give you a firm grounding in the topics covered.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Even experienced SharePoint developers will want to take a look at the modules that cover brand new development areas, like the client-side APIs, Silverlight user interfaces, sandboxed solutions, and the new ribbon user interface.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Get Your First Look at What’s New for Developers in SharePoint 2010 &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;For an even deeper look at what’s new and notable in SharePoint Foundation and Server 2010, we’ve posted a Beta version of the combined &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee557253(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee557253(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;SharePoint 2010 SDK&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. It’s packed with conceptual, procedural and reference material covering the major developmental areas of both Foundation and Server. All in all, it’s almost half a million words detailing how to develop SharePoint solutions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;For example, take a look here for &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee539826(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee539826(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;what’s new in SharePoint Foundation 2010&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;, including:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee539356(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee539356(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Alerts Enhancements&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee534979(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee534979(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Business Connectivity Services&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee535231(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee535231(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Client Object Model&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee540025(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee540025(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Events Improvements&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee535722(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee535722(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Microsoft Synch Framework&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee535896(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee535896(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Mobile Device Development Enhancements&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee534964(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee534964(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Query Enhancements&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee537570(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee537570(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Ribbon&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee539083(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee539083(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Sandboxed Solutions&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee537258(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee537258(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Service Application Framework&lt;/FONT&gt;&lt;/A&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee539062(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee539062(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Silverlight Integration and the Fluid Application Model&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee538245(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee538245(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;UI Improvements&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee539977(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee539977(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Windows PowerShell for SharePoint&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee537015(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee537015(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Workflow Improvements&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;And take a look here for &lt;SPAN style="COLOR: red"&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee557323(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee557323(office.14).aspx"&gt;&lt;FONT color=#0000ff&gt;what’s new in SharePoint Server 2010&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;, including:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee558398(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee558398(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;User Profiles and Social Data&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee557658(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee557658(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Business Connectivity Services (BCS)&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee559353(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee559353(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Enterprise Content Management (ECM)&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee558300(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee558300(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;SharePoint Enterprise Search&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee557869(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee557869(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;PerformancePoint Services&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee558289(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee558289(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Excel Services&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Some other places you might want to start:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l2 level1 lfo4" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;If you’re newer to SharePoint development, you might want to spend some time in the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee539741(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee539741(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Getting Started&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; and &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee534971(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee534971(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Building Blocks&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; sections of the SDK, getting a firm grounding in the basics. &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l2 level1 lfo4" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;If you’re coming to SharePoint from an ASP.NET development background, but sure and check out the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee534978(office.14).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ee534978(office.14).aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;Glide Path for ASP.NET Developers&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; section, which is specifically aimed at developers transitioning from ASP.NET development to development on the SharePoint Foundation platform.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Let Us Know What You Want &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Now, this SDK is a Beta release, so you’ll likely see some rough edges. But we’ve combined this SDK to cover both SharePoint Foundation and Server, and restructured it to present the continuum of SharePoint development in as logical and intuitive a way as we could. We then packed it with new and updated conceptual, procedural, and reference material.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;We’d love to hear what you think of what we’ve done. As always, as you read through the SDK, if you spot issues, don’t see the information you need, or have suggestions, please drop us a line and let us know how we can improve our developer documentation. It’s easy; just do one of the following:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo3" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Enter a comment in the MSDN ratings box&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo3" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Email us directly at docthis (at) Microsoft.com&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo3" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Email us through this blog&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;SPAN style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Be sure and check back here often (or even better, subscribe to our RSS feed), as we plan on using the blog to preview draft versions of additional SDK content as it gets written. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909388" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint+SDK/default.aspx">SharePoint SDK</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint+2010+Beta/default.aspx">SharePoint 2010 Beta</category></item><item><title>How Should C# Property Syntax Signatures Appear in Office SDKs?</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/04/23/how-should-c-property-syntax-signatures-appear-in-office-sdks.aspx</link><pubDate>Fri, 24 Apr 2009 00:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9567255</guid><dc:creator>RickK</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/9567255.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=9567255</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;This post is to solicit your opinion about whether and how Microsoft should change the presentation of&amp;nbsp;C# property declarations in SDK topics to take into account certain changes in the 3.0 version of C#.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Every property of a managed class has a reference topic in the product’s offline SDK and a corresponding MSDN page. Near the top of the page is the declaration signature of the class, in a monospaced font,&amp;nbsp;as it would look in each of several languages. For example, the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A title=SPList.AllowRssFeeds href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.allowrssfeeds.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.allowrssfeeds.aspx"&gt;SPList.AllowRssFeeds&lt;/A&gt;&lt;/SPAN&gt;&lt;/STRONG&gt; topic has the following for Visual Basic and &lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;C#:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;VB:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;Public ReadOnly Property AllowRssFeeds As Boolean&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;C#:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public bool AllowRssFeeds { get; }&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;And for &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;A title=SPList.AlertTemplate href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.alerttemplate.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.alerttemplate.aspx"&gt;SPList.AlertTemplate&lt;/A&gt;&lt;/B&gt;, the topic has this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;VB:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;Public Property AlertTemplate As SPAlertTemplate&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;C#:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public SPAlertTemplate AlertTemplate { get; set; }&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;In reality, nearly all managed code at Microsoft is written in C#. The syntax examples for other languages only show, approximately, what the declaration would have looked like if the class had been written in that language. Notice that whether or not the property is read-only can be conveyed in the VB with that language's &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;ReadOnly&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt; keyword. But C#'s little-known &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;readonly&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt; keyword can be applied to fields, not properties. So to indicate whether or not a property is read-only, the declaration adds "&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;{ get; set; }&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;", for read/write properties, or just "&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;{ get; }&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;", for read-only properties. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;This system has worked well even though the C# declarations were not literally correct syntax. Indeed, they worked well partly &lt;EM&gt;because&lt;/EM&gt; they were not correct syntax. Since they were not valid declarations, there has been no danger that readers would think that the pseudo-declaration indicated anything about how the &lt;B style="mso-bidi-font-weight: normal"&gt;get&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;set&lt;/B&gt; accessors were implemented under the hood. Thus, the programming design principle of “information hiding” is preserved.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;But with C# 3.0, a declaration such as this one:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;A:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public type SomeProperty { get; set; } &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;is valid code and it would compile “as is.”&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is equivalent to the following code. In fact, it is transformed into the following code on an early pass of the compiler.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;B:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;private type someField;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public type SomeProperty &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;{ &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return someField; }&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;set { someField = value; }&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;}&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;The C# 3.0 syntax for a read-only wrapper property simply adds a “&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;private&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;” access modifier to the &lt;B style="mso-bidi-font-weight: normal"&gt;set&lt;/B&gt; accessor:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;C:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public type SomeOtherProperty { get; private set; } &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;which compiles to:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;D:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;private type someOtherField;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public type SomeOtherProperty &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;{ &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; get { return someField; }&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;}&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;( Note by the way, that since both &lt;B style="mso-bidi-font-weight: normal"&gt;A&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;B&lt;/B&gt; compile to identical IL code, no code analysis tool, such as .Net Reflector or Visual Studio’s Object Browser, can determine whether the property’s source code originated as &lt;B style="mso-bidi-font-weight: normal"&gt;A&lt;/B&gt; or &lt;B style="mso-bidi-font-weight: normal"&gt;B&lt;/B&gt;. A parallel point applies to &lt;B style="mso-bidi-font-weight: normal"&gt;C&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;D&lt;/B&gt;.) &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;The problem this creates for the property topics in our SDKs is that our presentation of read/write properties now &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;can&lt;/I&gt;&lt;/B&gt; be mistaken for the actual implementation, especially by new developers who are coming to Microsoft managed code development after the release of C# 3.0 and are not familiar with the history of the syntax conventions on these pages. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Such a misunderstanding can, in turn, lead developers to make mistaken assumptions about the property’s &lt;B style="mso-bidi-font-weight: normal"&gt;get&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;set&lt;/B&gt; accessors. Our current way of presenting a read/write property declaration in our SDKs implies, since the release of C# 3.0, that the property is a simple wrapper property. This, in turn, implies several things that may be false. Among them are: &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-INDENT: -0.25in; MARGIN-LEFT: 0.5in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;The &lt;B style="mso-bidi-font-weight: normal"&gt;set&lt;/B&gt; accessor does no validation on the input.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-INDENT: -0.25in; MARGIN-LEFT: 0.5in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;The &lt;B style="mso-bidi-font-weight: normal"&gt;set&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;get&lt;/B&gt; accessors do not directly throw (or catch) any exceptions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-INDENT: -0.25in; MARGIN-LEFT: 0.5in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;The &lt;B style="mso-bidi-font-weight: normal"&gt;get&lt;/B&gt; accessor is simply returning a field value as distinct from calculating a value from multiple fields.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Two proposals have been made for how C# property declarations should look going forward.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Explicit Labeling Proposal&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Under this proposal, the read/write or read-only character of a property would be explicitly stated in a different font from the monospaced font of the declaration:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public type SomeProperty&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt; &lt;B style="mso-bidi-font-weight: normal"&gt;[read/write]&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public type SomeOtherProperty&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt; &lt;B style="mso-bidi-font-weight: normal"&gt;[read-only]&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Put the ‘Pseudo’ Back in 'Pseudo-Code' Proposal&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Under this proposal, the tradition of using pseudo-code to indicate the writeable status would be preserved, but the braces and semi-colons would be removed so that the presentation is once again not legal code. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN-BOTTOM: 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public type SomeProperty get set&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt"&gt;public type SomeOtherProperty get&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;The Office developer documentation team would like you to vote on these proposals. One way is to add a comment to this post. If you are an MVP member of the Office Content Publishing Collaboration site, you also have the option of voting on &lt;A title="this survey page" href="https://sharepoint.partners.extranet.microsoft.com/sites/OfficeCPCollab/Lists/How%20Should%20C%20Property%20Declarations%20Appear%20in%20SDKs/overview.aspx" target=_blank mce_href="https://sharepoint.partners.extranet.microsoft.com/sites/OfficeCPCollab/Lists/How%20Should%20C%20Property%20Declarations%20Appear%20in%20SDKs/overview.aspx"&gt;this survey page&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;You may also, of course, vote to leave the property declarations just as they are, or make an alternate proposal. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;One final point: Although this survey is sponsored by Office Developer Documentation, the issue is relevant to all managed code SDKs (and to the way that Visual Studio’s Object Browser presents properties). Although it will take time for all branches of the company to align on a single policy, you should vote as though you were helping to set policy for all divisions of Microsoft. It is likely that, eventually, all the affected Microsoft teams will settle on a consistent manner of presenting C# properties. In other words, do not vote against a proposal merely because it is inconsistent with the &lt;EM&gt;current&lt;/EM&gt; policy of some other SDK or tool.&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9567255" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/survey/default.aspx">survey</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/C_2300_+3.0/default.aspx">C# 3.0</category></item><item><title>Download: Workflow Development Resources Interactive Map</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2009/02/04/download-workflow-development-resources-interactive-map.aspx</link><pubDate>Thu, 05 Feb 2009 03:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9397122</guid><dc:creator>Andrew May</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/9397122.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=9397122</wfw:commentRss><description>&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/andrew_may/images/9397007/498x375.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;(Cross-posted from &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/andrew_may/default.aspx" mce_href="http://blogs.msdn.com/andrew_may/default.aspx"&gt;&lt;FONT face=Calibri size=3&gt;my individual work blog&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;For the last several weeks, I’ve been experimenting with using &lt;/FONT&gt;&lt;A href="http://www.amazon.com/Mind-Map-Book-Thinking-Potential/dp/0452273226/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1233789070&amp;amp;sr=1-1" mce_href="http://www.amazon.com/Mind-Map-Book-Thinking-Potential/dp/0452273226/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1233789070&amp;amp;sr=1-1"&gt;&lt;FONT face=Calibri size=3&gt;mind maps&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;, both as a way of brainstorming about developer content, and as a possible way of presenting content in a less-structured way than a typical (linear) table of contents. In regards to that last goal, I really liked how mind maps let you graphically lay out a content area, and draw non-linear relationships between various nodes. I could see how this could be a much more intuitive, discoverable way of presenting content, especially for a technology as complex and interrelated as Windows SharePoint Services. I was using an application called MindManager (from &lt;/FONT&gt;&lt;A href="http://www.mindjet.com/" mce_href="http://www.mindjet.com/"&gt;&lt;FONT face=Calibri size=3&gt;Mindjet&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;) to create my mind maps, and was generally pretty happy with the results. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;There was just one problem: in order to share a fully-functioning map with anyone else, they needed to have the same software (or at least a downloadable viewer) installed. Sure, Mind Manager let me save a given mind map as a image map or static PDF, but each of those formats ruled out one of the main selling points on the mind maps themselves: the ability to collapse/expand various nodes on the map, and thereby control the level of information you were looking at. Without that interactive ability, it really seemed like the value of using mind maps as content/resource maps was fairly restricted.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Perhaps MindJet thought the same thing, because the new version of MindManager now lets you save your mind maps as interactive PDF files. Now anyone who can view PDFs can also interact with your maps, and customize the view by collapsing/expanding the nodes of their choice.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;So I’ve created an interactive mind map as another way of presenting some of the information we currently have on MSDN, and I’ve love to know what people think of it. Basically, I’ve taken some of the content links present on the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/office/bb421687.aspx" mce_href="http://msdn.microsoft.com/en-us/office/bb421687.aspx"&gt;&lt;FONT face=Calibri size=3&gt;Workflow Resource Center&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; and restructured them as a mind map. Rather than present the content based on content type or source, as the Resource Center does, I’ve tried to present the content grouped to present a workflow development overview, as well as by developer tool. Icons next to each link display what type of content I’m linking to (SDK topic, blog, multimedia, etc.); the text color denotes whether the link applies just to Windows SharePoint Services (green text) or Office SharePoint Server as well (blue text).&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;I’m hoping you’ll take a few minutes and download the map, play with it, and let me know what you think, even if you don’t have any interest in workflow development. More than just does this specific map meet your needs, I’ve love to hear whether you think using such maps in general is a useful/worthwhile way to present developer documentation. Leave a comment after the post or ping me directly through the blog; I’d love to hear from you.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;(One minor drawback I can see is how much saving as an interactive PDF bloats the size of the file: this download, of a fairly small map, is 1.5M.) &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Now if we could just get them to add a ‘Save as Silverlight’ feature…&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9397122" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/sharepointdeveloperdocs/attachment/9397122.ashx" length="1550449" type="application/pdf" /></item><item><title>How We Address Developer Documentation Comments</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/06/09/how-we-address-developer-documentation-comments.aspx</link><pubDate>Mon, 09 Jun 2008 19:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8586350</guid><dc:creator>Andrew May</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/8586350.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=8586350</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;One of the things I've wanted to do on this blog is give people a clearer view into how we actually produce developer documentation for SharePoint; the processes we use, the decisions we make, and what factors influence those decisions. (The Office client developer docs team have done &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/officedevdocs/archive/2007/12/06/usage-analysis-of-the-access-developer-reference.aspx" mce_href="http://blogs.msdn.com/officedevdocs/archive/2007/12/06/usage-analysis-of-the-access-developer-reference.aspx"&gt;&lt;FONT face=Calibri size=3&gt;several&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/officedevdocs/archive/2007/11/30/microsoft-office-excel-2007-vba-reference-feedback.aspx" mce_href="http://blogs.msdn.com/officedevdocs/archive/2007/11/30/microsoft-office-excel-2007-vba-reference-feedback.aspx"&gt;&lt;FONT face=Calibri size=3&gt;great&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/officedevdocs/archive/2007/11/06/let-s-talk-about-office-vba-help.aspx" mce_href="http://blogs.msdn.com/officedevdocs/archive/2007/11/06/let-s-talk-about-office-vba-help.aspx"&gt;&lt;FONT face=Calibri size=3&gt;posts&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; over on the &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/OfficeDevDocs/" mce_href="http://blogs.msdn.com/OfficeDevDocs/"&gt;&lt;FONT face=Calibri size=3&gt;Office Client Developer Content&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; blog around similar topics.) With that in mind, when someone asked me the other day what we actually do with those &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/andrew_may/archive/2006/11/21/HowToRateAnMSDNArticle.aspx" mce_href="http://blogs.msdn.com/andrew_may/archive/2006/11/21/HowToRateAnMSDNArticle.aspx"&gt;&lt;FONT face=Calibri color=#0000ff size=3&gt;comments people enter for our content on MSDN&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;, I figured it was worth answering here.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The short answer is: we collect, classify, and prioritize them for action, pretty much like a software product team would triage bugs entered against their product.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;And here's the long answer:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;For each comment, when we initially receive it we assign a status, which is further broken down by a sub-status value as well. This enables us to separate out and focus on the comments for which some action can be taken, and group those comments in terms of what’s being requested. The status and sub-status values we use include:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;New&lt;SPAN style="COLOR: #1f497d; mso-themecolor: dark2"&gt; &lt;/SPAN&gt;&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;This is the status automatically assigned to comments that haven’t been classified yet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;In&lt;/B&gt; &lt;B&gt;progress&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Comments that contain actionable content. The comment has been initially triaged and prioritized.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Code sample&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;User wants a code sample to illustrate what the topic covers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Incorrect/Incomplete info&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;User points out that there is incorrect or incomplete information in the topic. (Not surprisingly, these are usually our first priority to fix.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;More Info&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;User is asking for more information to be added to the topic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;More Research Needed&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;We need to do more research on the comment before we can accurately categorize it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;New Topic Requested&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;User is asking for a new topic, separate from the topic where they added the comment.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-weight: bold; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;No Action&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Negative&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Comments that are negative but not specific enough to be actionable.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Noise&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Unintelligible comments, such as random typing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Positive&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Positive comment for which no action is necessary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-weight: bold; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Off-topic&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Comments that don't apply to the topic itself, but might be actionable at another level.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;MSDN Issue&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Comment refers to a wider MSDN issue.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Noise&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Comments that are intelligible, but have nothing to do with the topic ("I like cheese, do you like cheese?")&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Product Issue&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Comment refers to a product issue, such as whether the user likes the feature the topic describes, rather than the documentation itself.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.75in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;SDK Issue&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Comment refers to a larger issue concerning our content set, that might be present in the topic.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Spam&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Exactly what you'd expect: &lt;SPAN style="mso-bidi-font-weight: bold; mso-bidi-font-style: italic"&gt;foreign &lt;/SPAN&gt;financial scams, discounted prescriptions, offers to refinance our property at 1 Microsoft Way.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Fixed&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The actionable content of the comment has been addressed. For sub-status, we leave the value at what is was when the comment was In progress.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Once we’ve got them classified, we can properly triage those comments that require action, prioritizing them along with the other content feedback we get from newsgroups, blogs, MVPs, MSDN Community Content comments, internal and external partner groups, and various other channels.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Now that I’ve outlined what we do with the comments users enter, let’s take a quick look at what those comments actually say. So what are people telling us about the WSS SDK? Taking a look at the comments entered for the WSS 3.0 SDK since its publication online, here's how they currently break out, according to status:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG title="WSS SDK all comments by status" style="WIDTH: 433px; HEIGHT: 411px" height=411 alt="WSS SDK all comments by status" src="http://blogs.msdn.com/photos/andrew_may/images/8586229/original.aspx" width=433 mce_src="http://blogs.msdn.com/photos/andrew_may/images/8586229/original.aspx"&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;As you can see, 46% of the comments actually require no action beyond the initial triage. Of the actionable comments, about two-thirds are still in some state of being worked on. Like I said, these comments are prioritized in with all the content suggestions we receive from other channels as well, so that our documentation team is working on the highest priority work items, regardless of the path it took to get to us.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Looking a little closer at the comments still in progress, here's what you get when you break down those comments by sub-status:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG title="WSS SDK In Progress comments by sub-status" style="WIDTH: 486px; HEIGHT: 428px" height=428 alt="WSS SDK In Progress comments by sub-status" src="http://blogs.msdn.com/photos/andrew_may/images/8586239/original.aspx" width=486 mce_src="http://blogs.msdn.com/photos/andrew_may/images/8586239/original.aspx"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Users are overwhelmingly (78% of the total) asking for more information (52%) or code samples (26%). This is in line with feedback we’ve been getting through other channels, and is something we’ve been actively working to address.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;When you include the comments we've fixed, here are the classifications for all actionable comments we've received to date:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;o:p&gt;&lt;IMG title="WSS SDK all comments by sub-status" style="WIDTH: 530px; HEIGHT: 451px" height=451 alt="WSS SDK all comments by sub-status" src="http://blogs.msdn.com/photos/andrew_may/images/8586211/original.aspx" width=530 mce_src="http://blogs.msdn.com/photos/andrew_may/images/8586211/original.aspx"&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;One other metric we periodically look at is the trend of the positive and negative comments over time. I'm really happy to see that as we periodically republish the SDK with new, expanded, and revised material, positive comments have tended to increase at a faster rate than negative ones:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG title="WSS SDK no action comments over time" style="WIDTH: 584px; HEIGHT: 354px" height=354 alt="WSS SDK no action comments over time" src="http://blogs.msdn.com/photos/andrew_may/images/8586221/original.aspx" width=584 mce_src="http://blogs.msdn.com/photos/andrew_may/images/8586221/original.aspx"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;We do some additional data analysis on comments, but that’s the basics. So next time you’re looking at developer documentation on MSDN, take a moment to enter a comment to let us know how we’re doing. I guarantee we’re on the other end, listening.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8586350" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/documentation/default.aspx">documentation</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Developer/default.aspx">Developer</category></item><item><title>Add Virtual Earth Interactive Maps to your Search Server Site</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/04/01/add-virtual-earth-interactive-maps-to-your-search-server-site.aspx</link><pubDate>Wed, 02 Apr 2008 01:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8349189</guid><dc:creator>jcrowley</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/8349189.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=8349189</wfw:commentRss><description>&lt;P&gt;(cross-posted from &lt;A class="" href="http://blogs.msdn.com/enterprisesearch/" mce_href="http://blogs.msdn.com/enterprisesearch/"&gt;Enterprise Search Blog&lt;/A&gt;)&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Are you trying to think of ways to make your Search Server site more interactive and graphical? You can use Federation as a way to enhance the functionality of your search result pages.&lt;/P&gt;
&lt;P&gt;The Federated Search Web Part makes it possible to display more than results from OpenSearch (1.0/1.1) sites on your search results page. The &lt;A href="http://msdn2.microsoft.com/en-us/library/bb931097.aspx"&gt;&lt;FONT color=#35648c&gt;Search Server 2008 SDK&lt;/FONT&gt;&lt;/A&gt; explains how to include &lt;A href="http://msdn2.microsoft.com/en-us/library/bb896017.aspx"&gt;&lt;FONT color=#35648c&gt;results from SQL Server database queries&lt;/FONT&gt;&lt;/A&gt; and &lt;A href="http://msdn2.microsoft.com/en-us/library/cc299447.aspx"&gt;&lt;FONT color=#35648c&gt;search sites that do not expose XML feeds&lt;/FONT&gt;&lt;/A&gt; (such as Atom or RSS). In both scenarios, you do this by means of a "connector," a light-weight interface that sends queries to a given location or database, places the results into a structured XML document, and sends that XML to a Federated Search Web Part.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;This sample demonstrates how you can extend the connector concept to Web service requests other than basic search queries. It shows how to use a connector to pass an address string to &lt;A href="http://msdn2.microsoft.com/en-us/library/aa286513.aspx"&gt;&lt;FONT color=#35648c&gt;Microsoft's MapPoint Web service&lt;/FONT&gt;&lt;/A&gt; in order to obtain the latitude and longitude coordinates for that address. Once you have those coordinates, displaying a Microsoft Virtual Earth map requires only the addition of some Javascript to your Federated Location definition file. See this &lt;A href="http://www.codeplex.com/sctfscve"&gt;&lt;STRONG&gt;&lt;FONT color=#35648c&gt;Codeplex project&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; for the sample code (along with a sample Federated location definition file) and an explanation of how to implement it on your own site.&lt;/P&gt;
&lt;P&gt;This sample is part of the &lt;A href="http://www.codeplex.com/sct"&gt;&lt;STRONG&gt;&lt;FONT color=#35648c&gt;Search Community Toolkit&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;IMG style="WIDTH: 380px; HEIGHT: 480px" height=480 src="http://blogs.msdn.com/blogfiles/enterprisesearch/WindowsLiveWriter/AddVirtualEarthInteractiveMapstoyourSear_CE51/VirtualEarthFederation_2.jpg" width=380 mce_src="http://blogs.msdn.com/blogfiles/enterprisesearch/WindowsLiveWriter/AddVirtualEarthInteractiveMapstoyourSear_CE51/VirtualEarthFederation_2.jpg"&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Jim Crowley &lt;BR&gt;Programming Writer &lt;BR&gt;Microsoft Corp&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8349189" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/documentation/default.aspx">documentation</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Connectivity/default.aspx">Connectivity</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Query/default.aspx">Query</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Samples/default.aspx">Samples</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Developer/default.aspx">Developer</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/Search+Server/default.aspx">Search Server</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/WebService/default.aspx">WebService</category></item><item><title>How to: Create a Content Class That Can Be Backed Up and Restored</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx</link><pubDate>Fri, 08 Feb 2008 04:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7530537</guid><dc:creator>RickK</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/7530537.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=7530537</wfw:commentRss><description>&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Introduction&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;If you have a custom content component that you want to be included in Windows SharePoint Server 3.0 backups and restores, you must represent the component with a class that implements the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; interface. This post explains how to do that. There is a complete example following the procedures. This post assumes that you are familiar with my earlier post: &lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Programming with the Windows SharePoint Services Backup/Restore Object Model" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx"&gt;Programming with the Windows SharePoint Services Backup/Restore Object Model&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note&lt;/B&gt;: Unless explicitly stated otherwise, all classes and interfaces referred to in this post are in the &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint.Administration.Backup&lt;/B&gt; namespace. Classes that you will create are in &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;bold pink&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;. Also, this post refers at times to the “reference topic” for this or that method/property for supplementary information. As of the date of this posting these reference topics in the most recent versions of the WSS SDK (1.3), in either download or MSDN form, did not yet contain this new material. Look for another update soon. The additional information is not necessary for using this post as a learning exercise or implementing the example it contains. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Your class does not have to derive from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt; but if your content is a database, we recommend that you derive your class from either &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPDatabase&lt;/SPAN&gt;&lt;/STRONG&gt; or from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPContentDatabase&lt;/SPAN&gt;&lt;/STRONG&gt;. Both of the latter classes are derived from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt; and both implement &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt;. Therefore, you will have default implementations of members of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; that you can use when appropriate. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;You can create as many types of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; classes you want and, if you want, they can be nested as a tree of component classes. But the highest class in any such tree &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;must&lt;/SPAN&gt;&lt;/EM&gt; derive (directly or indirectly) from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt; object and &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;must&lt;/SPAN&gt;&lt;/EM&gt; be a child of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPFarm&lt;/SPAN&gt;&lt;/STRONG&gt;. If your content class is not a child of any other custom content class, it &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;must&lt;/SPAN&gt;&lt;/EM&gt; derive (directly or indirectly) from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt; object and &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;must&lt;/SPAN&gt;&lt;/EM&gt; be a child of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPFarm&lt;/SPAN&gt;&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;If your class derives from a class that already implements &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; object (whether or not it derives from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt;), and you want to replace an inherited implementation of an &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; member, your class declaration should explicitly reference &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; like this:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;public class MyClass : SPPersistedObject, IBackupRestore&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Your "override" of any &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; member should explicitly include "&lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;IBackupRestore&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;" in the member name and it should not include the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;public&lt;/STRONG&gt;&lt;/SPAN&gt; keyword. The following is an example:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;UInt64 IBackupRestore.DiskSizeRequired { ... }&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Alternatively, if the implementation of the member in the parent class used the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;virtual&lt;/STRONG&gt;&lt;/SPAN&gt; or &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;override&lt;/STRONG&gt;&lt;/SPAN&gt; keywords, you can use the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;override&lt;/STRONG&gt;&lt;/SPAN&gt; keyword in your implementation like this:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;public override UInt64 DiskSizeRequired { ... }&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=AlertText style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LabelEmbedded&gt;&lt;STRONG&gt;&lt;SPAN style="COLOR: red"&gt;Warning&lt;/SPAN&gt;: &lt;/STRONG&gt;&lt;/SPAN&gt;Do &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;not&lt;/SPAN&gt;&lt;/EM&gt; hide the inherited member implementation by redeclaring the member either with or without the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;new&lt;/STRONG&gt;&lt;/SPAN&gt; keyword (&lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;[new] public UInt64 DiskSizeRequired { ... }&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;). In the procedure below, the member signatures are written as they would be for a class that does not derive from a class that already implements &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt;. Be sure to change them to the required pattern if your class does derive from such a parent. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;If your class derives from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt;, let the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Id&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Name&lt;/SPAN&gt;&lt;/STRONG&gt; properties of that class serve as the implementation of the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.Id&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.Name&lt;/SPAN&gt;&lt;/STRONG&gt; properties. You may override the properties, but do not create a second implementation of either of them. Your class should have just one &lt;STRONG&gt;Name&lt;/STRONG&gt; and one &lt;STRONG&gt;Id&lt;/STRONG&gt;&amp;nbsp;property. &lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Procedures&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;TABLE class=Procedure style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellSpacing=0 cellPadding=0 border=1 class="Procedure"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; mso-border-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in; mso-yfti-cnfc: 1"&gt;&lt;FONT face=Verdana&gt;To Implement the Members of IBackupRestore&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid silver .5pt; mso-border-top-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Begin a new Class project in Visual Studio.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add a reference to Windows SharePoint Services to your Visual Studio project and add &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;using&lt;/STRONG&gt;&lt;/SPAN&gt; statements for the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Microsoft.SharePoint.Administration&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; and &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Microsoft.SharePoint.Administration.Backup&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; namespaces to your class file. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your class does not derive from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt;, implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.Name&lt;/SPAN&gt;&lt;/STRONG&gt; property. This will serve as the name of the content component in the UI of &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;stsadm.exe&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, the &lt;SPAN class=UI&gt;&lt;STRONG&gt;&lt;FONT color=#808080&gt;Central Administration&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; application and the UI of any custom backup and restore application. In most cases you implement the property by creating a private field for the name value and implement the public property as a wrapper around the field. For information on possible variant implementations, see the reference topic for the property. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;private String name;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public String Name&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;get {return name;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;set {name = value;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your class does not derive from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt;, implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.Id&lt;/SPAN&gt;&lt;/STRONG&gt; property. In most cases, you implement the property by creating a private field for the name value and implement the public property as a wrapper around the field. For information on possible variant implementations, see the reference topic for the property.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;private Guid id;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public Guid Id&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;get {return id;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;set {id = value;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.DiskSizeRequired&lt;/SPAN&gt;&lt;/STRONG&gt; property. If your class is just a container for some child &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; classes, the property should return 0. Otherwise, the property should calculate the size of the content. (Include the size of any non-&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; child objects, but do not include the size of any child &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; objects. They each have their own &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.DiskSizeRequired&lt;/SPAN&gt;&lt;/STRONG&gt; property and Windows SharePoint Server 3.0 will add those values in automatically.) The following example sums the sizes of all the files whose paths are contained in a collection called &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;FrontEndFilePaths&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public UInt64 DiskSizeRequired&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;get &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;UInt64 total = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;List&amp;lt;FileInfo&amp;gt; FrontEndFiles = new List&amp;lt;FileInfo&amp;gt;(NUMBER_OF_FILES_TO_BACK_UP);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;foreach (String path in FrontEndFilePaths)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FileInfo file = new FileInfo(path);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FrontEndFiles.Add(file);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;foreach (FileInfo file in FrontEndFiles)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;total = total + (UInt64)file.Length;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return total;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;} &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.CanSelectForBackup&lt;/SPAN&gt;&lt;/STRONG&gt; property. If users should &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;never&lt;/SPAN&gt;&lt;/EM&gt; be able to backup objects of your class independently of a backup of the parent object, the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;get&lt;/STRONG&gt;&lt;/SPAN&gt; accessor should return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;. If users should always be able to select &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;any&lt;/SPAN&gt;&lt;/EM&gt; object of your class for independent backup, the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;get&lt;/STRONG&gt;&lt;/SPAN&gt; accessor should return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;. In either case, the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;set&lt;/STRONG&gt;&lt;/SPAN&gt; accessor should be an empty pair of braces "{ }". If some objects of your class can be backed up independently of their parent, but some cannot be, implement the property as a wrapper around a private &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.Boolean&lt;/SPAN&gt;&lt;/STRONG&gt; field. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;7.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.CanSelectForRestore&lt;/SPAN&gt;&lt;/STRONG&gt; property. If users should never be able to restore objects of your custom component class independently of a restoration of the parent object, the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;get&lt;/STRONG&gt;&lt;/SPAN&gt; accessor should return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;. If users should always be able to select any object of your class for independent restoration, the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;get&lt;/STRONG&gt;&lt;/SPAN&gt; accessor should return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;. In either case, the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;set&lt;/STRONG&gt;&lt;/SPAN&gt; accessor should be an empty pair of braces "{ }". If some objects of your class can be restored independently of their parent, but some cannot be, implement the property as a wrapper around a private &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.Boolean&lt;/SPAN&gt;&lt;/STRONG&gt; field.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;8.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.CanRenameOnRestore&lt;/SPAN&gt;&lt;/STRONG&gt; property. If users should never be able to restore objects of your custom component class to a new location, the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;get&lt;/STRONG&gt;&lt;/SPAN&gt; accessor should return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;. If users should be able to migrate any object of your class, the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;get&lt;/STRONG&gt;&lt;/SPAN&gt; accessor should return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;. If objects of your class can sometimes be migrated, but not always, implement the property as a wrapper around a private &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.Boolean&lt;/SPAN&gt;&lt;/STRONG&gt; field.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;9.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.AddBackupObjects&lt;/SPAN&gt;&lt;/STRONG&gt; method. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;a.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Your implementation code should begin by throwing an exception if there is no valid parent to which the component can be added.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;b.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Use the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject.AddChild&lt;/SPAN&gt;&lt;/STRONG&gt; method to add your component to the tree of objects that the backup or restore operation will process. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;c.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Use the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.SetParameter&lt;/SPAN&gt;&lt;/STRONG&gt; method to specify a type name and description of the component that can be used by the UI of backup/restore applications. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;d.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If the component has child &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; objects, your implementation should iterate through them and recursively call the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.AddBackupObjects&lt;/SPAN&gt;&lt;/STRONG&gt; method of each child.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;e.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;See the reference topic for the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.AddBackupObjects&lt;/SPAN&gt;&lt;/STRONG&gt; method for more ideas about implementations of it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;The following example code assumes that your content class has a &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;ChildContentCollection&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; of child &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; objects. If your class has more than one type of child component, you may have separate collections for each type and iterate through each collection. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public void AddBackupObjects(SPBackupRestoreObject parent)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (parent == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("parent");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObject self = parent.AddChild(this);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;self.Information.SetParameter(SPBackupRestoreObject.SPTypeName, this.GetType());&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;self.Information.SetParameter(SPBackupRestoreObject.SPDescription,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;"&lt;SPAN class=Placeholder&gt;&lt;EM&gt;Description of custom content component&lt;/EM&gt;&lt;/SPAN&gt;");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;foreach (ChildContent child in ChildContentCollection)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;IBackupRestore childIBR = child as IBackupRestore;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;childIBR.AddBackupObjects(self);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;10.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnAbort&lt;/SPAN&gt;&lt;/STRONG&gt; method. It should always return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;. In most cases it should do nothing more, but see the reference topic for &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnAbort&lt;/SPAN&gt;&lt;/STRONG&gt; for information about exceptions to this general rule.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;11.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPrepareBackup&lt;/SPAN&gt;&lt;/STRONG&gt; method. At a minimum, you should use the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.SetParameter&lt;/SPAN&gt;&lt;/STRONG&gt; method to specify a name for the content object. Beyond that, few generalizations can be made. See the reference topic for &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPrepareBackup&lt;/SPAN&gt;&lt;/STRONG&gt; for more information. The following example shows a minimal implementation of the method, which is often all that is needed.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public Boolean OnPrepareBackup(Object sender, SPBackupInformation args)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.SetParameter(SPBackupRestoreObject.SPName, this.Name);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;12.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackup&lt;/SPAN&gt;&lt;/STRONG&gt; method. If your content class has no content outside of any &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; child objects it may have, your implementation should simply set the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.CurrentProgess&lt;/SPAN&gt;&lt;/STRONG&gt; to a value that approximately represents the percentage of the total backup operation time that is consumed by the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackup&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPrepareBackup&lt;/SPAN&gt;&lt;/STRONG&gt; methods. It should then return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt; as seen in the following example. Do &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;not&lt;/SPAN&gt;&lt;/EM&gt; call the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackup&lt;/SPAN&gt;&lt;/STRONG&gt; method of any &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; child objects. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public Boolean OnBackup(Object sender, SPBackupInformation args)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 50;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;If your class &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;does&lt;/SPAN&gt;&lt;/EM&gt; have content outside of any &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; child objects it may have, your implementation must copy this content to &lt;SPAN class=ParameterReference&gt;&lt;EM&gt;args&lt;/EM&gt;&lt;/SPAN&gt;.&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.Location&lt;/SPAN&gt;&lt;/STRONG&gt; and return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt; if the copy fails. You should include logic to backup any child objects that do &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;not&lt;/SPAN&gt;&lt;/EM&gt; implement &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt;, but you should not explicitly backup any child objects that &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;do&lt;/SPAN&gt;&lt;/EM&gt; implement &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt;. They will be backed up by their own &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackup&lt;/SPAN&gt;&lt;/STRONG&gt; method, which the runtime will call. You should not call the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackup&lt;/SPAN&gt;&lt;/STRONG&gt; methods of the child objects in your own code. The following example shows the overall structure of a substantive implementation of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackup.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public Boolean OnBackup(Object sender, SPBackupInformation args)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 50;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Boolean successSignal = true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// TODO: Implement copying your content to args.Location&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If the copy fails, set successSignal to false.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return successSignal;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;13.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackupComplete&lt;/SPAN&gt;&lt;/STRONG&gt; method. At a minimum, your implementation should set &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.CurrentProgess&lt;/SPAN&gt;&lt;/STRONG&gt; to 100 percent and return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt; as shown in the following example. This is typically all that is required. For information about other work your implementation may need to perform, see the reference topic for &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackupComplete&lt;/SPAN&gt;&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public Boolean OnBackupComplete(Object sender, SPBackupInformation args)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 100;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;14.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPreRestore&lt;/SPAN&gt;&lt;/STRONG&gt; method. In most situations, a restoration operation requires no preparation and your implementation of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPreRestore&lt;/SPAN&gt;&lt;/STRONG&gt; should just return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;. For information about other work your implementation may need to perform, see the reference topic for &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPreRestore&lt;/SPAN&gt;&lt;/STRONG&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;15.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnRestore&lt;/SPAN&gt;&lt;/STRONG&gt; method. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your content class can be migrated, your code should check to see what the restore method is and call &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.Rename&lt;/SPAN&gt;&lt;/STRONG&gt; if the method is &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;New&lt;/STRONG&gt;&lt;/SPAN&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your content class has no content outside of any &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; child objects it may have, your implementation should simply set the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.CurrentProgess&lt;/SPAN&gt;&lt;/STRONG&gt; to a value that approximately represents the percentage of the total restore operation time that is consumed by the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnRestore&lt;/SPAN&gt;&lt;/STRONG&gt; and the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPreRestore&lt;/SPAN&gt;&lt;/STRONG&gt; methods. It should then return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt; as seen in the following example. Do &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;not&lt;/SPAN&gt;&lt;/EM&gt; call the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnRestore&lt;/SPAN&gt;&lt;/STRONG&gt; method of any &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; child objects.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public Boolean OnRestore(Object sender, SPRestoreInformation args)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args.RestoreMethod == SPRestoreMethodType.New)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.Rename();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 50;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your class &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;does&lt;/SPAN&gt;&lt;/EM&gt; have content outside of any &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; child objects it may have, your implementation must copy this content to the restoration destination. Return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;, if for any reason the copy of content fails. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;The following example shows the overall structure of a substantive implementation of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnRestore&lt;/SPAN&gt;&lt;/STRONG&gt;:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public Boolean OnRestore(Object sender, SPRestoreInformation args)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args.RestoreMethod == SPRestoreMethodType.New)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.Rename();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 50;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Boolean successSignal = true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// TODO: Implement copying your content to the destination.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;If the copy fails, set successSignal to false.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return successSignal;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;16.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Implement the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPostRestore&lt;/SPAN&gt;&lt;/STRONG&gt; method. At a minimum, your implementation should set &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.CurrentProgess&lt;/SPAN&gt;&lt;/STRONG&gt; to 100 percent and return &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt; as shown in the following example. This is typically all that is required. For information about other work your implementation may need to perform, see the reference topic for &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnPostRestore&lt;/SPAN&gt;&lt;/STRONG&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public Boolean OnPostRestore(Object sender, SPRestoreInformation args)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 100;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;TABLE class=Procedure style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellSpacing=0 cellPadding=0 border=1 class="Procedure"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; mso-border-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in; mso-yfti-cnfc: 1"&gt;&lt;FONT face=Verdana&gt;Add other Members to Your Class As Needed&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid silver .5pt; mso-border-top-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;17.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add fields, properties, and helper methods as needed to complete your class. As you work, keep these points in mind:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Use fields and properties to hold child content objects. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your class derives from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt;, then the declaration of fields that you want to persist in the configuration database must be preceded with the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;[Persisted]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; attribute. However, you can only mark the following types of fields in this way: primitive types such as strings, integers, and GUIDs; other &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt; objects or &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPAutoserializingObject&lt;/SPAN&gt;&lt;/STRONG&gt; objects; or collections of any of the above. For example, the class cannot have a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.IO.FileInfo&lt;/SPAN&gt;&lt;/STRONG&gt; field marked with the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;[Persisted]&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; attribute. If the data you would like to persist is not of a persistable class, use a persistable substitute. The sample implementation above of the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.DiskSizeRequired&lt;/SPAN&gt;&lt;/STRONG&gt; property envisions a class that persists a collection of file names and uses them to create a temporary collection of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.IO.FileInfo&lt;/SPAN&gt;&lt;/STRONG&gt; objects at runtime. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your class can have multiple children of the same type, create a property or field of a collection type or other enumerable type to hold a collection of all children of a given type. This is particularly important if the child type itself implements &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt;, because your implementation of the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.AddBackupObjects&lt;/SPAN&gt;&lt;/STRONG&gt; method should iterate through such children and call the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.AddBackupObjects&lt;/SPAN&gt;&lt;/STRONG&gt; method of each child. See the procedure step for implementing the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.AddBackupObjects&lt;/SPAN&gt;&lt;/STRONG&gt; method above, for more information.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;18.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add constructors to your class to initialize its fields and properties as needed. If the class derives from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt;, there must be at least one constructor that names the object and assigns it to a parent. Typically, such a constructor takes at least these two arguments:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;A &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;String&lt;/SPAN&gt;&lt;/STRONG&gt; argument that will be the name of the content object.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;An &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt; argument that represents the parent of the content object. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;This constructor must call the base constructor that takes the same two arguments. The following is an example:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public MyContentComponent(String componentName, SPPersistedObject parent, &lt;SPAN class=Placeholder&gt;&lt;EM&gt;SomeType&lt;/EM&gt;&lt;/SPAN&gt; &lt;SPAN class=Placeholder&gt;&lt;EM&gt;someOtherArgument&lt;/EM&gt;&lt;/SPAN&gt;, ... ) &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: base(componentName, parent)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=Placeholder&gt;&lt;EM&gt;somePrivateField&lt;/EM&gt;&lt;/SPAN&gt; = &lt;SPAN class=Placeholder&gt;&lt;EM&gt;someOtherArgument&lt;/EM&gt;&lt;/SPAN&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;...&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;You must pass &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPFarm.Local&lt;/SPAN&gt;&lt;/STRONG&gt; as the parent when the content object is the top most object in a tree of custom &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; objects. If your custom component type is &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;always&lt;/SPAN&gt;&lt;/EM&gt; the top most object, then leave out the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt; argument and hard code a reference to &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPFarm.Local&lt;/SPAN&gt;&lt;/STRONG&gt; in the call to the base constructor. The following is an example:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;public MyContentComponent(String componentName, &lt;SPAN class=Placeholder&gt;&lt;EM&gt;SomeType&lt;/EM&gt;&lt;/SPAN&gt; &lt;SPAN class=Placeholder&gt;&lt;EM&gt;someOtherArgument&lt;/EM&gt;&lt;/SPAN&gt;, ... ) &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: base(componentName, SPFarm.Local)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=Placeholder&gt;&lt;EM&gt;somePrivateField&lt;/EM&gt;&lt;/SPAN&gt; = &lt;SPAN class=Placeholder&gt;&lt;EM&gt;someOtherArgument&lt;/EM&gt;&lt;/SPAN&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;...&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;If objects of your class always have the same name, you can leave out the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;String&lt;/SPAN&gt;&lt;/STRONG&gt; argument and hard code the name in the call to the base constructor. (If all objects of a given type have the same name, there should never be more than one child of that type for a given parent and; thus, no more than one object of that type on the entire farm if the object is a child of the farm.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;19.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Compile your class project. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=AlertTextinList1 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LabelEmbedded&gt;&lt;STRONG&gt;&lt;SPAN style="COLOR: red"&gt;Warning&lt;/SPAN&gt;: &lt;/STRONG&gt;&lt;/SPAN&gt;You &lt;I style="mso-bidi-font-style: normal"&gt;must&lt;/I&gt; give the assembly a strong name and put the assembly in the General Assembly Cache (GAC).&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;TABLE class=Procedure style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellSpacing=0 cellPadding=0 border=1 class="Procedure"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; mso-border-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in; mso-yfti-cnfc: 1"&gt;&lt;FONT face=Verdana&gt;To Create an Object of Your Class and Make it a Child of the Farm&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid silver .5pt; mso-border-top-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;20.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Start a new console application project in Visual Studio.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;21.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add a reference to the DLL of your custom component class to the project.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;22.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add a &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;using&lt;/STRONG&gt;&lt;/SPAN&gt; statement for &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Microsoft.SharePoint.Administration&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;23.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add a &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;using&lt;/STRONG&gt;&lt;/SPAN&gt; statement for the namespace that you used in your custom component class (or just use the same namespace in your console application). &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;24.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add to the &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;Main&lt;/STRONG&gt;&lt;/SPAN&gt; method of your project a call to the constructor of your custom component class. If you created a hierarchy of custom types, call the constructor of the top most class. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;25.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If needed, precede the call to the constructor of the component with code that creates parameters for the constructor. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;26.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;After the call to the constructor of your component, your code should call the component object's &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject.Update&lt;/SPAN&gt;&lt;/STRONG&gt; method. The following is an example of what you should have in the Main method:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;MyContentComponent myContentObject = new MyContentComponent("&lt;SPAN class=Placeholder&gt;&lt;EM&gt;component name&lt;/EM&gt;&lt;/SPAN&gt;", SPFarm.Local);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;myContentObject.Update();&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;27.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Compile and run the application. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;28.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;In the Central Administration application navigate to &lt;SPAN class=UI&gt;&lt;STRONG&gt;&lt;FONT color=#808080&gt;Operations&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; | &lt;SPAN class=UI&gt;&lt;STRONG&gt;&lt;FONT color=#808080&gt;Perform a Backup&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;. Your object should appear as child of the farm on the &lt;SPAN class=UI&gt;&lt;STRONG&gt;&lt;FONT color=#808080&gt;Perform a Backup&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; page. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=AlertTextinList1 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LabelEmbedded&gt;&lt;STRONG&gt;Note: &lt;/STRONG&gt;&lt;/SPAN&gt;There is a sample console application for creating and deleting custom content objects in the &lt;B style="mso-bidi-font-weight: normal"&gt;Example&lt;/B&gt; section below.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Development Advice&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;The following tips may be helpful as you develop your custom content classes particularly because you will probably be creating objects and adding them to the farm multiple times as you work.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;TABLE class=Procedure style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellSpacing=0 cellPadding=0 border=1 class="Procedure"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; mso-border-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in; mso-yfti-cnfc: 1"&gt;&lt;FONT face=Verdana&gt;Points to Keep in Mind&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid silver .5pt; mso-border-top-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in; mso-list: l2 level1 lfo4"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If you need to delete your object from the configuration database, use &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject.Delete&lt;/SPAN&gt;&lt;/STRONG&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in; mso-list: l2 level1 lfo4"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;An exception is thrown if you call &lt;SPAN class=ParameterReference&gt;&lt;EM&gt;obj&lt;/EM&gt;&lt;/SPAN&gt;.&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Update&lt;/SPAN&gt;&lt;/STRONG&gt;() and there is already an object of the same class as &lt;SPAN class=ParameterReference&gt;&lt;EM&gt;obj&lt;/EM&gt;&lt;/SPAN&gt; with the same &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject.Name&lt;/SPAN&gt;&lt;/STRONG&gt; property value and the same parent in the configuration database. There is an overloaded version of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPPersistedObject.Update&lt;/SPAN&gt;&lt;/STRONG&gt; that may be preferable.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in; mso-list: l2 level1 lfo4"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;There is an example console application in the second &lt;B style="mso-bidi-font-weight: normal"&gt;Example&lt;/B&gt; section below that can be used to add or delete your custom objects from the configuration database.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in; mso-list: l2 level1 lfo4"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Run &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;iisreset&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; at the command line after every recompile of your &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; class. You may need to reboot the server as well. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in; mso-list: l2 level1 lfo4"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;The various &lt;B style="mso-bidi-font-weight: normal"&gt;IBackupRestore.On*&lt;/B&gt; methods take either a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupInformation&lt;/SPAN&gt;&lt;/STRONG&gt; parameter or a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreInformation&lt;/SPAN&gt;&lt;/STRONG&gt; parameter. You can use their members for debugging purposes. Particularly helpful is the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation.Log&lt;/SPAN&gt;&lt;/STRONG&gt; method.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Example&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;The following code implements a custom content component that represents a single &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Web.config&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; file on a front end server. Replace the &lt;SPAN class=Placeholder&gt;&lt;EM&gt;TestSite&lt;/EM&gt;&lt;/SPAN&gt; part of the file path in the constructor implementation with a directory name from your test server. The compiled assembly must be strong-named and installed in the GAC. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;In the example following the class implementation, there is the code for a simple console application that will register the component as a child of the farm or delete it from the farm. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using System;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using System.IO;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using System.Collections.Generic;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using Microsoft.SharePoint.Administration;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using Microsoft.SharePoint.Administration.Backup;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;namespace MyCompany.SharePoint.Administration&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public class CriticalFiles : SPPersistedObject, IBackupRestore&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public CriticalFiles() { }&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public CriticalFiles(String componentName, SPPersistedObject parent) &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;: base(componentName, parent)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String pathOfFile = @"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;TestSite&lt;/EM&gt;&lt;/SPAN&gt;\Web.config";&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FrontEndFilePaths.Add(pathOfFile);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[Persisted]&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;private const Int32 NUMBER_OF_FILES_TO_BACK_UP = 1;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[Persisted]&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;private List&amp;lt;String&amp;gt; FrontEndFilePaths = new List&amp;lt;String&amp;gt;(NUMBER_OF_FILES_TO_BACK_UP);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean CanSelectForBackup&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;get { return true; }&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;set { }&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean CanSelectForRestore&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;get { return true; }&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;set { }&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean CanRenameOnRestore&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;get { return false; }&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public UInt64 DiskSizeRequired&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;get&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UInt64 total = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;List&amp;lt;FileInfo&amp;gt; FrontEndFiles = new List&amp;lt;FileInfo&amp;gt;(NUMBER_OF_FILES_TO_BACK_UP);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;foreach (String path in FrontEndFilePaths)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FileInfo file = new FileInfo(path);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FrontEndFiles.Add(file);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;foreach (FileInfo file in FrontEndFiles)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;total = total + (UInt64)file.Length;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return total;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public void AddBackupObjects(SPBackupRestoreObject parent)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (parent == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("parent");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObject self = parent.AddChild(this);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;self.Information.SetParameter(SPBackupRestoreObject.SPTypeName, this.GetType());&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;self.Information.SetParameter(SPBackupRestoreObject.SPDescription, "The critical files on all front end servers.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean OnAbort(Object sender, SPBackupRestoreInformation args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean OnPrepareBackup(Object sender, SPBackupInformation args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.SetParameter(SPBackupRestoreObject.SPName, this.Name);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean OnBackup(Object sender, SPBackupInformation args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Boolean successSignal = true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;foreach (String path in FrontEndFilePaths)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FileInfo file = new FileInfo(path);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;try&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String mappedFileName = args.GenerateFileMapping(file.Name);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;file.CopyTo(args.Location + @"\" + mappedFileName, true);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.Log(SPBackupRestoreLogSeverity.Verbose, "Backed up " + file.Name + " in (" + mappedFileName + ")");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;catch (Exception e)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.Log(SPBackupRestoreLogSeverity.Verbose, file.Name + " not backed u " + e.Message);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;successSignal = false;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 50;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return successSignal;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean OnBackupComplete(Object sender, SPBackupInformation args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 100;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean OnPreRestore(Object sender, SPRestoreInformation args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean OnRestore(Object sender, SPRestoreInformation args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// If the CriticalFiles object was deleted from the farm after it was&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// backed up, restore it to the configuration database.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;CriticalFiles cf = SPFarm.Local.GetChild&amp;lt;CriticalFiles&amp;gt;(this.Name);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (cf == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;this.Update();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.Log(SPBackupRestoreLogSeverity.Verbose, this.Name + " added back to configuration database.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Boolean successSignal = true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// TODO: The following loop restores files to the local server. If there are &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;multiple front end servers, your code must iterate through all of &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;SPFarm.Local.Servers and restore the same files to every server whose&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Role property is SPServerRole.WebFrontEnd&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;foreach (String path in FrontEndFilePaths)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FileInfo backupCopy = new FileInfo(path);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String mappedFileName = args.ReverseFileMapping(backupCopy.Name);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FileInfo file = new FileInfo(args.Location + @"\" + mappedFileName);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;try&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;file.CopyTo(path, true);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.Log(SPBackupRestoreLogSeverity.Verbose, "Restored " + backupCopy.Name);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;catch (Exception e)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.Log(SPBackupRestoreLogSeverity.Verbose, file.Name + " not restored: " + e.Message);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;successSignal = false;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 50;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return successSignal;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;public Boolean OnPostRestore(Object sender, SPRestoreInformation args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (args == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;throw new ArgumentNullException("args");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;args.CurrentProgress = 100;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#c0c0c0 size=3&gt;Description&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;The following is a console application that will add or delete your content object from the configuration database.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using System;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using System.Collections.Generic;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using System.Text;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using Microsoft.SharePoint.Administration;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using Microsoft.SharePoint.Administration.Backup;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;namespace MyCompany.SharePoint.Administration&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;class Program &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;static void Main(string[] args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CriticalFiles cf = SPFarm.Local.GetChild&amp;lt;CriticalFiles&amp;gt;("Critical Front End Files");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (cf == null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("There is no CriticalFiles object in the configuration database.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.Write("Enter 'A' to add it. Press Return to do nothing:");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String response = Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (response == "A")&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;CriticalFiles myCriticalFiles = new CriticalFiles("Critical Front End Files", SPFarm.Local);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;myCriticalFiles.Update();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;else&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("There is a CriticalFiles object in the configuration database.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.Write("Enter 'D' to delete it. Press Return to do nothing:");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String response = Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (response == "D")&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;cf.Delete();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end Main&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end Program&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;} &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;See Also&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Programming with the Windows SharePoint Services Backup/Restore Object Model" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx"&gt;Programming with the Windows SharePoint Services Backup/Restore Object Model&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Back Up Content" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx"&gt;How to: Programmatically Back Up Content&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Restore Content" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx"&gt;How to: Programmatically Restore Content&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7530537" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/restore/default.aspx">restore</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/backup/default.aspx">backup</category></item><item><title>How to: Programmatically Back Up and Restore a Single Site Collection</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-and-restore-a-single-site-collection.aspx</link><pubDate>Fri, 08 Feb 2008 03:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7529706</guid><dc:creator>RickK</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/7529706.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=7529706</wfw:commentRss><description>&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Introduction&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;This post describes how to back up and restore individual site collections programmatically. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note&lt;/B&gt;: Unless explicitly stated otherwise, all classes referred to in this post are in the &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint.Administration&lt;/B&gt; or &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint&lt;/B&gt; namespaces (not &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint.Administration&lt;/B&gt;.&lt;B style="mso-bidi-font-weight: normal"&gt;Backup&lt;/B&gt;). &lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt; tab-stops: 175.5pt"&gt;&lt;FONT size=3&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;Procedures&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;TABLE class=Procedure style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellSpacing=0 cellPadding=0 border=1 class="Procedure"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; mso-border-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in; mso-yfti-cnfc: 1"&gt;&lt;FONT face=Verdana&gt;To Back Up or Restore a Site Collection&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid silver .5pt; mso-border-top-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add to your Visual Studio project a reference to Windows SharePoint Services. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add &lt;B style="mso-bidi-font-weight: normal"&gt;using&lt;/B&gt; statements for &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Microsoft.SharePoint&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; and&lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt; Microsoft.SharePoint.Administration.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add the following lines to obtain a reference to the farm and its collection of services. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPFarm myFarm = SPFarm.Local;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPServiceCollection myServices = myFarm.Services;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Obtain a reference to the Web service that publishes the Web application that hosts your site collection by using the service's &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.Guid&lt;/SPAN&gt;&lt;/STRONG&gt; which is the value of its &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebService.Id&lt;/SPAN&gt;&lt;/STRONG&gt; property. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Guid serviceID = new Guid("&lt;SPAN class=Placeholder&gt;&lt;EM&gt;21d91b29-5c5b-4893-9264-4e9c758618b4&lt;/EM&gt;&lt;/SPAN&gt;");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPWebService webPubService = (SPWebService)myServices[serviceID];&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;If you do not know the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebService.Id&lt;/SPAN&gt;&lt;/STRONG&gt; of the application publishing Web service, you can iterate through all the services and report their &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebService.Name&lt;/SPAN&gt;&lt;/STRONG&gt;, &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebService.TypeName&lt;/SPAN&gt;&lt;/STRONG&gt;, and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebService.Id&lt;/SPAN&gt;&lt;/STRONG&gt;. The following is an example:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;foreach (SPService service in myServices)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (service is SPWebService)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Web service name:" + webService.Name);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Web service type:" + webService.TypeName);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Web service ID:" + webService.Id);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.Readline();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Obtain a reference to the Web application that hosts your site collection. If you know the URL of the Web application you can obtain a reference with the static &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebApplication.Lookup&lt;/SPAN&gt;&lt;/STRONG&gt; method. Alternatively, you can use the application's &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.Guid&lt;/SPAN&gt;&lt;/STRONG&gt; which is the value of its &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebApplication.Id&lt;/SPAN&gt;&lt;/STRONG&gt; property. The following code shows the second method.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPWebApplicationCollection myApps = webPubService.WebApplications;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Guid appID = new Guid("&lt;SPAN class=Placeholder&gt;&lt;EM&gt;10ea4e6f-ae37-4909-b04f-f516c066bc37&lt;/EM&gt;&lt;/SPAN&gt;");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPWebApplication myApp = myApps[appID];&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=TextinList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;FONT face=Verdana&gt;If you do not know the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebApplication.Id&lt;/SPAN&gt;&lt;/STRONG&gt; of the Web application that hosts your site collection, you can iterate through all the Web applications and report their &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebApplication.Name&lt;/SPAN&gt;&lt;/STRONG&gt;, &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebApplication.TypeName&lt;/SPAN&gt;&lt;/STRONG&gt;, and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPWebApplication.Id&lt;/SPAN&gt;&lt;/STRONG&gt;. The following is an example:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;foreach (SPWebApplication app in webApps)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Web application name:" + app.Name);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Web application type:" + app.TypeName);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Web application ID:" + app.Id);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.Readline();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Get a reference to the Web application's collection of site collections.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPSiteCollection mySiteCols = myApp.Sites;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;7.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;To back up a site collection, call the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPSiteCollection.Backup&lt;/SPAN&gt;&lt;/STRONG&gt; method. As parameters pass the following:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;The full URL of the site collection; that is, the full URL of its Top Level Web site. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;The full path and file name of the file that will hold the compressed content of the site collection. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList2 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;True&lt;/STRONG&gt;&lt;/SPAN&gt;, if the operation should overwrite an existing backup file of the same name; &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;false&lt;/STRONG&gt;&lt;/SPAN&gt;, if it should not.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;mySiteCols.Backup(@"htt//&lt;SPAN class=Placeholder&gt;&lt;EM&gt;Server/sites/MySiteCollection&lt;/EM&gt;&lt;/SPAN&gt;", @"\\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection&lt;/EM&gt;&lt;/SPAN&gt;", true);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;8.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;To restore a site collection, call the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPSiteCollection.Restore&lt;/SPAN&gt;&lt;/STRONG&gt; method. It takes the same parameters as the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPSiteCollection.Backup&lt;/SPAN&gt;&lt;/STRONG&gt; method. The &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Boolean&lt;/SPAN&gt;&lt;/STRONG&gt; parameter indicates whether the site collection should be overwritten if it already exists at the specified URL. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;mySiteCols.Restore(@"htt//&lt;SPAN class=Placeholder&gt;&lt;EM&gt;Server/sites/MySiteCollection&lt;/EM&gt;&lt;/SPAN&gt;", @"\\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection&lt;/EM&gt;&lt;/SPAN&gt;", true);&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Example&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;The following example shows a simple way to programmatically back up or restore a site collection. You will need to replace all the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.Guid&lt;/SPAN&gt;&lt;/STRONG&gt; values with actual values from your deployment and replace the placeholder values in the &lt;B style="mso-bidi-font-weight: normal"&gt;Backup&lt;/B&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;Restore&lt;/B&gt; methods with actual URLs and paths from your deployment. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// Get a reference to the Web application publishing&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// Web service.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPFarm myFarm = SPFarm.Local;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPServiceCollection myServices = myFarm.Services;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;Guid serviceID = new Guid("&lt;SPAN class=Placeholder&gt;&lt;EM&gt;21d91b29-5c5b-4893-9264-4e9c758618b4&lt;/EM&gt;&lt;/SPAN&gt;");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPWebService webPubService = (SPWebService)myServices[serviceID];&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// Get a reference to the Web application that hosts the &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// site collection.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPWebApplicationCollection myApps = webPubService.WebApplications;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;Guid appID = new Guid("&lt;SPAN class=Placeholder&gt;&lt;EM&gt;10ea4e6f-ae37-4909-b04f-f516c066bc37&lt;/EM&gt;&lt;/SPAN&gt;");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPWebApplication myApp = myApps[appID];&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// As alternative to the preceding three lines, you can use&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// the following when you know the URL of the Web application:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;//&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPWebApplication myApp = SPWebApplication.Lookup(url_of_Web_app)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// Get a reference to the Web application's collection of &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// site collections. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPSiteCollection mySiteCols = myApp.Sites;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// Back up a specified site collection. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;mySiteCols.Backup(@"htt//&lt;SPAN class=Placeholder&gt;&lt;EM&gt;Server/sites/MySiteCollection&lt;/EM&gt;&lt;/SPAN&gt;", @"\\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection&lt;/EM&gt;&lt;/SPAN&gt;", true);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// Restoring the site collection is identical to the preceding&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// code except that the "Restore" is used in place of "Backup".&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;//&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;// mySiteCols.Restore(@"htt//&lt;SPAN class=Placeholder&gt;&lt;EM&gt;Server/sites/MySiteCollection&lt;/EM&gt;&lt;/SPAN&gt;", @"\\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection&lt;/EM&gt;&lt;/SPAN&gt;", true);&lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#c0c0c0 size=3&gt;Comments&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;The &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.SPSite&lt;/SPAN&gt;&lt;/STRONG&gt; class does not implement &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Backup.IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; and the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPSiteCollection.Backup&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPSiteCollection.Restore&lt;/SPAN&gt;&lt;/STRONG&gt; methods do not use the facilities of the &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint.Administration.Backup&lt;/B&gt; namespace. This means that records of backups and restorations of site collections are &lt;I style="mso-bidi-font-style: normal"&gt;not&lt;/I&gt; kept in a history file (&lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;spbrtoc.xml&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;) in the backup directory. Similarly, backup and restoration data is not stored in &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;spbackup.xml&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; or &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;sprestore.xml&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; files, neither are these site collection operations logged in &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;spbackup.log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; or &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;sprestore.log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; files. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;If you want to do any kind of logging of backups and restorations of site collection operations, you will have to program your own system. Writing to the system-created &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;spbrtoc.xml,&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;spbackup.xml&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;sprestore.xml&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;spbackup.log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, and &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;sprestore.log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; files is not supported in Windows SharePoint Services 3.0. Neither is moving them, deleting them, or renaming them. However, you can create files that merge data from the system-created files with data from your site collection backups and restorations. &lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;See Also&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Programming with the Windows SharePoint Services Backup/Restore Object Model" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx"&gt;Programming with the Windows SharePoint Services Backup/Restore Object Model&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Back Up Content" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx"&gt;How to: Programmatically Back Up Content&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Restore Content" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx"&gt;How to: Programmatically Restore Content&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Create a Content Class That Can Be Backed Up and Restored" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx"&gt;How to: Create a Content Class That Can Be Backed Up and Restored&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;SPAN class=MsoCommentReference&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7529706" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/restore/default.aspx">restore</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/backup/default.aspx">backup</category></item><item><title>How to: Programmatically Restore Content</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx</link><pubDate>Fri, 08 Feb 2008 02:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7529297</guid><dc:creator>RickK</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/7529297.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=7529297</wfw:commentRss><description>&lt;H1 style="MARGIN: 9pt 0in 3pt -0.25in"&gt;&lt;FONT face=Verdana size=5&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/H1&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Introduction&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;This post explains how to create an application that restores from a backup a content component, including a custom content component, of a Windows SharePoint Services 3.0 farm. The post assumes that you are familiar with my previous posts &lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Overview of Backing Up and Restoring Data in Windows SharePoint Services" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/01/23/overview-of-backing-up-and-restoring-data-in-windows-sharepoint-services.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/01/23/overview-of-backing-up-and-restoring-data-in-windows-sharepoint-services.aspx"&gt;Overview of Backing Up and Restoring Data in Windows SharePoint Services&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; and &lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Programming with the Windows SharePoint Services Backup/Restore Object Model" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx"&gt;Programming with the Windows SharePoint Services Backup/Restore Object Model&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note&lt;/B&gt;: Unless specified otherwise, all classes referred to in this post are in the &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint.Administration.Backup&lt;/B&gt; namespace. Classes that you create are in &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;bold pink&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Procedures&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;TABLE class=Procedure style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellSpacing=0 cellPadding=0 border=1 class="Procedure"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; mso-border-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in; mso-yfti-cnfc: 1"&gt;&lt;FONT face=Verdana&gt;To Restore&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: navy"&gt; a Content Component&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid silver .5pt; mso-border-top-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add a reference to Windows SharePoint Services to your Visual Studio project and add &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;using&lt;/STRONG&gt;&lt;/SPAN&gt; statements for the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Microsoft.SharePoint.Administration&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; and &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Microsoft.SharePoint.Administration.Backup&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; namespaces to you code file. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Inside the Main method, create a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreSettings&lt;/SPAN&gt;&lt;/STRONG&gt; object by using the static &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.GetRestoreSettings&lt;/SPAN&gt;&lt;/STRONG&gt; method. For the first parameter pass the path where the backup is stored. For the second parameter pass &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;a string version&lt;/SPAN&gt;&lt;/EM&gt; of one of the values of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreMethodType&lt;/SPAN&gt;&lt;/STRONG&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPRestoreSettings settings = SPBackupRestoreSettings.GetRestoreSettings((@"\\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;Server&lt;/EM&gt;&lt;/SPAN&gt;\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;WSSBackups&lt;/EM&gt;&lt;/SPAN&gt;", "Overwrite");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Prompt the user to specify the content component that is to be restored and assign its name to the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.IndividualItem&lt;/SPAN&gt;&lt;/STRONG&gt; property. To see an itemization of the names of the components on your farm that were included in the last full backup and that can be the objects of restore operations, you can either run the command &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;stsadm -o restore -showtree&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; at the server command line. To specify a different full backup package, use the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;-backupid&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; parameter. Alternatively, you can visit &lt;SPAN class=UI&gt;&lt;STRONG&gt;&lt;FONT color=#808080&gt;Operations &amp;gt; Perform a Restore&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; in the Central Administration application. To specify the whole farm, use "Farm" as the name. (Setting the property to &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;null&lt;/STRONG&gt;&lt;/SPAN&gt; also selects the whole farm for backup assuming that you use &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.IndividualItem&lt;/SPAN&gt;&lt;/STRONG&gt; in all subsequent code to identify by name the component to be restored, as you should. For an example, see the use of the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.FindItems&lt;/SPAN&gt;&lt;/STRONG&gt; method in step 9.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Console.Write("Enter name of component to restore (default is whole farm):");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.IndividualItem = Console.ReadLine();&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If you want to restore from a backup other than the most recent, identify the backup package by assigning its GUID to the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreSettings.BackupId&lt;/SPAN&gt;&lt;/STRONG&gt; property. A record of each backup operation for a particular backup location is stored in &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;spbrtoc.xml&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; in the root of the location. Each backup and restore operation is represented in the file by an &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;lt;SPHistoryObject&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; element. If the operation is a backup, the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;lt;IsBackup&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; child of the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;lt;SPHistoryObject&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; element is "&lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;True&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;". The &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;lt;SPId&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; element of the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;lt;SPHistoryObject&amp;gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; element contains the GUID of the backup.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=AlertTextinList1 style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LabelEmbedded&gt;&lt;STRONG&gt;Note: &lt;/STRONG&gt;&lt;/SPAN&gt;To programmatically obtain the list of all backup and restore operations, use the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.GetHistory&lt;/SPAN&gt;&lt;/STRONG&gt; method. This method returns an &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreHistoryList&lt;/SPAN&gt;&lt;/STRONG&gt; object that contains &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreHistoryObject&lt;/SPAN&gt;&lt;/STRONG&gt; objects. Each of the latter represents an operation and holds its GUID in the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreHistoryObject.SelfId&lt;/SPAN&gt;&lt;/STRONG&gt; property.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.BackupId = new Guid("&lt;SPAN class=Placeholder&gt;&lt;EM&gt;GUID&lt;/EM&gt;&lt;/SPAN&gt;");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Optionally, set one or both of the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.IsVerbose&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.UpdateProgress&lt;/SPAN&gt;&lt;/STRONG&gt; properties. (For details about these properties, see the reference topics for them.) &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.IsVerbose = true;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.UpdateProgress = 10;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If necessary, set the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreSettings.FarmAdminLoginName&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreSettings.FarmAdminLoginPassword&lt;/SPAN&gt;&lt;/STRONG&gt; properties. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.FarmAdminLoginName = "Bob";&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.FarmAdminPassword = "7*j2U";&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;7.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Create the restore operation with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.CreateBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; method. (A history object for the operation is also created.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Guid restore = SPBackupRestoreConsole.CreateBackupRestore(settings);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;8.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your UI has users type a component name instead of pick one from a list, you must make sure that the name entered matches exactly one component. Add the following line to your Main method.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPBackupRestoreObject node = EnsureUniqueValidComponentName(settings, ref restore);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;9.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add the following declaration and implementation of your &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;EnsureUniqueValidComponentName&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; method. Use the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.FindItems&lt;/SPAN&gt;&lt;/STRONG&gt; method to retrieve a collection of content objects whose names match the user-entered name. If there is no match, prompt the user to try again. If there is more than one, prompt the user to be more specific. If the component name that the user entered is valid and not ambiguous, get a reference to the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; object that represents the component that the user wants to restore.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;private static SPBackupRestoreObject EnsureUniqueValidComponentName(SPBackupRestoreSettings settings, ref Guid operationGUID)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObjectCollection list = SPBackupRestoreConsole.FindItems(operationGUID, settings.IndividualItem);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObject component = null;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (list.Count &amp;lt;= 0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("There is no component with that name. Run again with a new name.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else if (list.Count &amp;gt; 1)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;// The component name specified is ambiguous. Prompt user to be more specific.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("More than one component matches the name you entered.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Run again with one of the following:");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (int i = 0; i &amp;lt; list.Count; i++)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("\t{0}", list[i].ToString());&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;component = list[0];&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return component;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;10.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;In the Main method, create a conditional structure that will run only if your &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;EnsureUniqueValidComponentName&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; method has returned a valid node. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;if (node != null)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// TODO: Set the restore operation as the active operation&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// and run it.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;11.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Replace the "TODO" line in the previous step with the following code. This sets the operation to be the active operation with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.SetActive&lt;/SPAN&gt;&lt;/STRONG&gt; method and tests to verify that it succeeded. If it fails, which it will if another backup or restore operation is already underway, report an error to the UI of your application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;if (SPBackupRestoreConsole.SetActive(restore) == true)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// TODO: Run the operation. See next step.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;else&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report through your UI that another backup&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// or restore operation is underway. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Console.WriteLine("Another backup or restore operation is already underway. Try again when it ends.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;12.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;In the code branch that runs if the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.SetActive&lt;/SPAN&gt;&lt;/STRONG&gt; call succeeds, run the operation with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.Run&lt;/SPAN&gt;&lt;/STRONG&gt; method. Test that the operation succeeds. If it fails, report the operation's failure message to your UI. The following code replaces the "TODO" line in the previous step. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;if (SPBackupRestoreConsole.Run(restore, node) == false)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;// Report "error" through your UI.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String error = SPBackupRestoreConsole.Get(restore).FailureMessage;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine(error);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;13.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Clean up the restore with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.Remove&lt;/SPAN&gt;&lt;/STRONG&gt; method. Add the following code just before the closing brace you inserted in step 10.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;// Clean up the operation.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPBackupRestoreConsole.Remove(restore);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Console.WriteLine("Restore attempt complete. Press Enter to continue.");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Example&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;The following code shows how to program a restoration of a content component. Replace the placeholder &lt;SPAN class=Placeholder&gt;&lt;EM&gt;\\Server\WSSBackups&lt;/EM&gt;&lt;/SPAN&gt; with the path of your backup location. The runtime will automatically find the most recent backup at that location.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using System;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using Microsoft.SharePoint.Administration;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using Microsoft.SharePoint.Administration.Backup;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;namespace &lt;SPAN class=Placeholder&gt;&lt;EM&gt;MyCompany&lt;/EM&gt;&lt;/SPAN&gt;.SharePoint.Administration.Backup&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;class Restore&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;static void Main(string[] args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Create the restore settings.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPRestoreSettings settings = SPBackupRestoreSettings.GetRestoreSettings(@"\\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;Server&lt;/EM&gt;&lt;/SPAN&gt;\&lt;SPAN class=Placeholder&gt;&lt;EM&gt;WSSBackups&lt;/EM&gt;&lt;/SPAN&gt;", "Overwrite");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Identify the content component to restore.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.Write("Enter name of component to restore (default is whole farm):");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;settings.IndividualItem = Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Set optional operation parameters.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;settings.IsVerbose = true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;settings.UpdateProgress = 10;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Create the restore operation and return its ID.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Guid restore = SPBackupRestoreConsole.CreateBackupRestore(settings);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObject node = EnsureUniqueValidComponentName(settings, ref restore);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (node != null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Set the restore as the active job and run it.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (SPBackupRestoreConsole.SetActive(restore) == true)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (SPBackupRestoreConsole.Run(restore, node) == false)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report "error" through your UI.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String error = SPBackupRestoreConsole.Get(restore).FailureMessage;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine(error);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report through your UI that another backup&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// or restore operation is underway. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Another backup or restore operation is already underway. Try again when it ends.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Clean up the operation.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreConsole.Remove(restore);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Restore attempt complete. Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end Main&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;private static SPBackupRestoreObject EnsureUniqueValidComponentName(SPBackupRestoreSettings settings, ref Guid operationGUID)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObjectCollection list = SPBackupRestoreConsole.FindItems(operationGUID, settings.IndividualItem);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObject component = null;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (list.Count &amp;lt;= 0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("There is no component with that name. Run again with a new name.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else if (list.Count &amp;gt; 1)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;// The component name specified is ambiguous. Prompt user to be more specific.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("More than one component matches the name you entered.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Run again with one of the following:");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (int i = 0; i &amp;lt; list.Count; i++)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("\t{0}", list[i].ToString());&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;component = list[0];&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return component;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end EnsureUniqueValidComponentName&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end Restore class&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;}// end namespace&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT size=3&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;See Also&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=LinkText&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=LinkText&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Programming with the Windows SharePoint Services Backup/Restore Object Model" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx"&gt;Programming with the Windows SharePoint Services Backup/Restore Object Model&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Backup Content" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx"&gt;How to: Programmatically Back Up Content&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Create a Content Class That Can Be Backed Up and Restored" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx"&gt;How to: Create a Content Class That Can Be Backed Up and Restored&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;SPAN class=MsoCommentReference&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7529297" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/restore/default.aspx">restore</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/backup/default.aspx">backup</category></item><item><title>How to: Programmatically Back Up Content</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx</link><pubDate>Fri, 08 Feb 2008 02:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7528894</guid><dc:creator>RickK</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/7528894.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=7528894</wfw:commentRss><description>&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Introduction&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;This post explains how to program a backup of a content component, including custom components, in a Windows SharePoint Services 3.0 farm. The post assumes that you are familiar with my previous posts &lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Overview of Backing Up and Restoring Data in Windows SharePoint Services" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/01/23/overview-of-backing-up-and-restoring-data-in-windows-sharepoint-services.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/01/23/overview-of-backing-up-and-restoring-data-in-windows-sharepoint-services.aspx"&gt;Overview of Backing Up and Restoring Data in Windows SharePoint Services&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; and &lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Programming with the Windows SharePoint Services Backup/Restore Object Model" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx"&gt;Programming with the Windows SharePoint Services Backup/Restore Object Model&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note&lt;/B&gt;: Unless specified otherwise, all classes referred to in this post are in the &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint.Administration.Backup&lt;/B&gt; namespace. Classes that you create are in &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;bold pink&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Procedures&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;TABLE class=Procedure style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt" cellSpacing=0 cellPadding=0 border=1 class="Procedure"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: -1; mso-yfti-firstrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: silver 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #d9d9d9; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; mso-border-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in; mso-yfti-cnfc: 1"&gt;&lt;FONT face=Verdana&gt;To Back Up a Content Component&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="COLOR: navy"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-lastrow: yes"&gt;
&lt;TD class="" style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 6.15in; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid silver .5pt; mso-border-top-alt: solid silver .5pt" vAlign=top width=590&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add a reference to &lt;/FONT&gt;&lt;A style="mso-comment-reference: rk_1; mso-comment-date: 20080207T1503"&gt;&lt;FONT face=Verdana&gt;Windows SharePoint Services &lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana&gt;to your Visual Studio project and add &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;using&lt;/STRONG&gt;&lt;/SPAN&gt; statements for the &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Microsoft.SharePoint.Administration&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; and &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;Microsoft.SharePoint.Administration.Backup&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; namespaces to you code file. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Inside the Main method, prompt the user to specify where the backup should be stored. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Console.Write("Enter full UNC path to the directory where the backup will be stored:");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;String backupLocation = Console.ReadLine();&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Inside the Main method, create a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupSettings&lt;/SPAN&gt;&lt;/STRONG&gt; object by using the static &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.GetBackupSettings&lt;/SPAN&gt;&lt;/STRONG&gt; method. For the first parameter pass the path where the backup should be stored. For the second parameter pass &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;a string version&lt;/SPAN&gt;&lt;/EM&gt; of one of the values of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupMethodType&lt;/SPAN&gt;&lt;/STRONG&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPBackupSettings settings = SPBackupRestoreSettings.GetBackupSettings(backupLocation, "Full");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Prompt the user to specify the content component to back up and assign its name to the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.IndividualItem&lt;/SPAN&gt;&lt;/STRONG&gt; property. To see an itemization of the names of the components on your farm that can be the objects of backup operations, you can either run the command &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;stsadm -o backup -showtree&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; at the server command line or visit &lt;SPAN class=UI&gt;&lt;STRONG&gt;&lt;FONT color=#808080&gt;Operations &amp;gt; Perform a Backup&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; in the Central Administration application. To specify the whole farm, use "Farm" as the name. (Setting the property to &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;null&lt;/STRONG&gt;&lt;/SPAN&gt; also selects the whole farm for backup assuming that you use &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.IndividualItem&lt;/SPAN&gt;&lt;/STRONG&gt; in all subsequent code to identify by name the component to be backed up, as you should. For an example, see the use of the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.FindItems&lt;/SPAN&gt;&lt;/STRONG&gt; method in step 8.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Console.Write("Enter name of component to backup (default is whole farm):");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.IndividualItem = Console.ReadLine();&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Optionally, set one or more of the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.IsVerbose&lt;/SPAN&gt;&lt;/STRONG&gt;, &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.UpdateProgress&lt;/SPAN&gt;&lt;/STRONG&gt;, and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupSettings.BackupTheads&lt;/SPAN&gt;&lt;/STRONG&gt; properties. (For details about these properties, see the reference topics for them.) &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.IsVerbose = true;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.UpdateProgress = 10;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;settings.BackupThreads = 2;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Create the backup operation with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.CreateBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; method. (A history object for the operation is also created. For more information, see &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreHistoryObject&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreHistoryList&lt;/SPAN&gt;&lt;/STRONG&gt;.)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Guid backup = SPBackupRestoreConsole.CreateBackupRestore(settings);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;7.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;If your UI has users type a component name instead of pick one from a list, you must make sure that the name entered matches exactly one component. Add the following line to your Main method.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPBackupRestoreObject node = EnsureUniqueValidComponentName(settings, ref backup);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;8.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add the following declaration and implementation of your &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;EnsureUniqueValidComponentName&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; method. Use the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.FindItems&lt;/SPAN&gt;&lt;/STRONG&gt; method to retrieve a collection of content objects whose names match the user-entered name. If there is no match, prompt the user to try again. If there is more than one, prompt the user to be more specific. If the component name that the user entered is valid and not ambiguous, get a reference to the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; object that represents the component that the user wants to restore.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;private static SPBackupRestoreObject EnsureUniqueValidComponentName(SPBackupRestoreSettings settings, ref Guid operationGUID)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObjectCollection list = SPBackupRestoreConsole.FindItems(operationGUID, settings.IndividualItem);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObject component = null;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (list.Count &amp;lt;= 0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("There is no component with that name. Run again with a new name.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else if (list.Count &amp;gt; 1)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;// The component name specified is ambiguous. Prompt user to be more specific.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("More than one component matches the name you entered.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Run again with one of the following:");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (int i = 0; i &amp;lt; list.Count; i++)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("\t{0}", list[i].ToString());&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;component = list[0];&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return component;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;9.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;In the Main method, create a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Boolean&lt;/SPAN&gt;&lt;/STRONG&gt; flag that will signal whether there is sufficient space for the backup, and a conditional structure that will run only if your &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;EnsureUniqueValidComponentName&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; method has returned a valid node.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Boolean targetHasEnoughSpace = false;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;if (node != null)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;targetHasEnoughSpace = EnsureEnoughDiskSpace(backupLocation, backup, node);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;10.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Add the following declaration and implementation of your &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;EnsureEnoughDiskSpace&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; method. Use the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.DiskSizeRequired&lt;/SPAN&gt;&lt;/STRONG&gt; method to obtain the amount of space that is needed, and the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.DiskSize&lt;/SPAN&gt;&lt;/STRONG&gt; method to determine how much free space is available on the destination disk.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;private static Boolean EnsureEnoughDiskSpace(String location, Guid backup, SPBackupRestoreObject node)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UInt64 backupSize = SPBackupRestoreConsole.DiskSizeRequired(backup, node);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UInt64 diskFreeSize = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UInt64 diskSize = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Boolean hasEnoughSpace = true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;try&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreConsole.DiskSize(location, out diskFreeSize, out diskSize);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;catch&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;diskFreeSize = diskSize = UInt64.MaxValue;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (backupSize &amp;gt; diskFreeSize)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report through your UI that there is not enough disk space.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("{0} bytes of space is needed but the disk hosting {1} has only {2}.", backupSize, location, diskFreeSize);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Please try again with a different backup location or a smaller component.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;hasEnoughSpace = false;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else if (backupSize == UInt64.MaxValue || diskFreeSize == 0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report through your UI that it cannot be determined whether there is enough disk space.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Cannot determine if that location has enough disk space.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Please try again with a different backup location or a smaller component.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;hasEnoughSpace = false;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return hasEnoughSpace;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;11.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;In the Main method, create a conditional structure that will run only if your &lt;SPAN class=Bold&gt;&lt;STRONG&gt;&lt;FONT color=#ff00ff&gt;EnsureEnoughDiskSpace&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; returns &lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;if (targetHasEnoughSpace)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// TODO: Set the backup operation as the active operation&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// and run it.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;12.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Replace the "TODO" line in the previous step with the following code. This sets the operation to be the active operation with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.SetActive&lt;/SPAN&gt;&lt;/STRONG&gt; method and tests to verify that it succeeded. If it fails, which it will if another backup or restore operation is already underway, report an error to the UI of your application.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;if (SPBackupRestoreConsole.SetActive(backup) == true)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// TODO: Run the operation. See next step.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;else&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report through your UI that another backup&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// or restore operation is underway. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Another backup or restore operation is already underway. Try again when it ends.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;13.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;In the code branch that runs if the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.SetActive&lt;/SPAN&gt;&lt;/STRONG&gt; call succeeds, run the operation with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.Run&lt;/SPAN&gt;&lt;/STRONG&gt; method. Test that the operation succeeds. If it fails, report the operation's failure message to your UI. The following code replaces the "TODO" line in the previous step. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;if (SPBackupRestoreConsole.Run(backup, node) == false)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report "error" through your UI.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String error = SPBackupRestoreConsole.Get(backup).FailureMessage;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine(error);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;}&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;14.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Clean up the restore with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.Remove&lt;/SPAN&gt;&lt;/STRONG&gt; method. Add the following code just before the closing brace you inserted in step 11.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;// Clean up the operation.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;SPBackupRestoreConsole.Remove(backup);&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Console.WriteLine("Backup attempt complete. Press Enter to continue.");&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;FONT face="Courier New" color=#000080&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=CodeinList1 style="MARGIN: 0in 0in 3pt 0.25in"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P class=TableSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Verdana color=#c0c0c0 size=1&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Example&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;The following code shows how to program a backup of a content component. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN class=MultilanguageMarkerAuto&gt;&lt;SPAN style="FONT-SIZE: 8pt; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT color=#808080&gt;&lt;FONT face=Verdana&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using System;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using Microsoft.SharePoint.Administration;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;using Microsoft.SharePoint.Administration.Backup;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;namespace &lt;SPAN class=Placeholder&gt;&lt;EM&gt;MyCompany&lt;/EM&gt;&lt;/SPAN&gt;.SharePoint.Administration.Backup&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;{&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;class Backup&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;static void Main(string[] args)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Identify the location for the backup storage.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.Write("Enter full UNC path to the directory where the backup will be stored:");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String backupLocation = Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Create the backup settings.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupSettings settings = SPBackupRestoreSettings.GetBackupSettings(backupLocation, "Full");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Identify the content component to backup.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.Write("Enter name of component to backup (default is whole farm):");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;settings.IndividualItem = Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Set optional operation parameters.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;settings.IsVerbose = true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;settings.UpdateProgress = 10;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;settings.BackupThreads = 10;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Create the backup operation and return its ID.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Guid backup = SPBackupRestoreConsole.CreateBackupRestore(settings);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Ensure that user has identified a valid and unique component.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObject node = EnsureUniqueValidComponentName(settings, ref backup);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Ensure that there is enough space.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Boolean targetHasEnoughSpace = false;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (node != null)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;targetHasEnoughSpace = EnsureEnoughDiskSpace(backupLocation, backup, node);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// If there is enough space, attempt to run the backup.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (targetHasEnoughSpace)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Set the backup as the active job and run it.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (SPBackupRestoreConsole.SetActive(backup) == true)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (SPBackupRestoreConsole.Run(backup, node) == false)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report "error" through your UI.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;String error = SPBackupRestoreConsole.Get(backup).FailureMessage;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine(error);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report through your UI that another backup&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// or restore operation is underway. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Another backup or restore operation is already underway. Try again when it ends.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Clean up the operation.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreConsole.Remove(backup);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Console.WriteLine("Backup attempt complete. Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end Main&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;private static SPBackupRestoreObject EnsureUniqueValidComponentName(SPBackupRestoreSettings settings, ref Guid operationGUID)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObjectCollection list = SPBackupRestoreConsole.FindItems(operationGUID, settings.IndividualItem);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreObject component = null;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (list.Count &amp;lt;= 0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("There is no component with that name. Run again with a new name.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;else if (list.Count &amp;gt; 1)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;// The component name specified is ambiguous. Prompt user to be more specific.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("More than one component matches the name you entered.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Run again with one of the following:");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;for (int i = 0; i &amp;lt; list.Count; i++)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("\t{0}", list[i].ToString());&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Press Enter to continue.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.ReadLine();&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;component = list[0];&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return component;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end EnsureUniqueValidComponentName&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;private static Boolean EnsureEnoughDiskSpace(String location, Guid backup, SPBackupRestoreObject node)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UInt64 backupSize = SPBackupRestoreConsole.DiskSizeRequired(backup, node);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UInt64 diskFreeSize = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;UInt64 diskSize = 0;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Boolean hasEnoughSpace = true;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;try&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SPBackupRestoreConsole.DiskSize(location, out diskFreeSize, out diskSize);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;catch&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;diskFreeSize = diskSize = UInt64.MaxValue;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;if (backupSize &amp;gt; diskFreeSize)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report through your UI that there is not enough disk space.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("{0} bytes of space is needed but the disk hosting {1} has only {2}.", backupSize, location, diskFreeSize);&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Please try again with a different backup location or a smaller component.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;hasEnoughSpace = false;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;else if (backupSize == UInt64.MaxValue || diskFreeSize == 0)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;// Report through your UI that it cannot be determined whether there is enough disk space.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Cannot determine if that location has enough disk space.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Console.WriteLine("Please try again with a different backup location or a smaller component.");&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;hasEnoughSpace = false;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;return hasEnoughSpace;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end EnsureEnoughDiskSpace&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;o:p&gt;&lt;FONT face="Courier New" color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT color=#000080&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}// end Backup class&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Code style="MARGIN: 0in 0in 3pt"&gt;&lt;FONT face="Courier New" color=#000080&gt;}// end namespace&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;See Also&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=LinkText&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="Programming with the Windows SharePoint Services Backup/Restore Object Model" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx"&gt;Programming with the Windows SharePoint Services Backup/Restore Object Model&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Restore Content" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx"&gt;How to: Programmatically Restore Content&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Create a Content Class That Can Be Backed Up and Restored" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx"&gt;How to: Create a Content Class That Can Be Backed Up and Restored&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; &lt;SPAN class=MsoCommentReference&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/FONT&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7528894" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/restore/default.aspx">restore</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/backup/default.aspx">backup</category></item><item><title>Programming with the Windows SharePoint Services Backup/Restore Object Model</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/programming-with-the-windows-sharepoint-services-backup-restore-object-model.aspx</link><pubDate>Fri, 08 Feb 2008 00:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7527283</guid><dc:creator>RickK</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/7527283.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=7527283</wfw:commentRss><description>&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Introduction&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;&lt;SPAN class=MsoCommentReference&gt;This post describes the architecture of the backup and restore object model in Windows &lt;/SPAN&gt;SharePoint&lt;SPAN class=MsoCommentReference&gt; Services 3.0 and provides some advice about how to program against it. Your backup application can be an independent application or an extension of the &lt;/SPAN&gt;&lt;SPAN class=LegacyLinkText&gt;&lt;EM&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="stsadmn.exe command line tool" href="http://technet2.microsoft.com/Office/en-us/library/188f006d-aa66-4784-a65b-a31822aa13f71033.mspx" target=_blank mce_href="http://technet2.microsoft.com/Office/en-us/library/188f006d-aa66-4784-a65b-a31822aa13f71033.mspx"&gt;stsadm.exe command-line tool&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN class=MsoCommentReference&gt;. For more &lt;/SPAN&gt;information about how to extend stsadm&lt;SPAN class=MsoCommentReference&gt;, see &lt;/SPAN&gt;&lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Extend the STSADM Utility" href="http://msdn2.microsoft.com/en-us/library/bb417382.aspx" target=_blank mce_href="http://msdn2.microsoft.com/en-us/library/bb417382.aspx"&gt;How to: Extend the STSADM Utility&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;SPAN class=MsoCommentReference&gt;. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in 3pt 0.5in"&gt;&lt;SPAN class=MsoCommentReference&gt;&lt;FONT face=Verdana&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;Note&lt;/B&gt;: All classes in this post are in the &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint.Administration.Backup&lt;/B&gt; namespace unless specified otherwise. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;The Backup and Restore Object Model&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;At the top of the object model is the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole&lt;/SPAN&gt;&lt;/STRONG&gt; class. (See &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Arial Unicode MS','sans-serif'"&gt;①&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, in Figure 1.) It provides an umbrella operations manager responsible for queuing backup and restore jobs, starting jobs, and persisting a history of jobs in the form of xml files. An object of this class is "just underneath the surface" of the UI of a backup application. Its members are mainly static methods and properties that provide hooks for the UI of the backup application. Both the Central Administration application and the &lt;SPAN class=LegacyLinkText&gt;&lt;EM&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=LegacyLinkText&gt;&lt;EM&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="stsadmn.exe command line tool" href="http://technet2.microsoft.com/Office/en-us/library/188f006d-aa66-4784-a65b-a31822aa13f71033.mspx" target=_blank mce_href="http://technet2.microsoft.com/Office/en-us/library/188f006d-aa66-4784-a65b-a31822aa13f71033.mspx"&gt;stsadm.exe command-line tool&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/EM&gt;&lt;/SPAN&gt; use these hooks. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;There is always just one object of this class and it is created the first time one of its members is called. It remains in memory until the next time Internet Information Server (IIS) is reset; however, its memory footprint is small. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=Label style="MARGIN: 3pt 0in"&gt;&lt;STRONG&gt;&lt;FONT face=Verdana&gt;Figure 1: The primary objects in the backup/restore hierarchy. &lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P class=Label style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;STRONG&gt;&lt;FONT face=Verdana&gt;&lt;IMG title="Primary Objects in WSS Backup Restore OM" style="WIDTH: 572px; HEIGHT: 422px" height=422 alt="Primary Objects in WSS Backup Restore OM" src="http://blogs.msdn.com/photos/andrew_may/images/7545478/original.aspx" width=572 align=top mce_src="http://blogs.msdn.com/photos/andrew_may/images/7545478/original.aspx"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Label style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=Figure style="MARGIN: 6pt 0in"&gt;&lt;FONT face=Verdana&gt;Each particular backup or restore operation is represented by an object of the class &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject&lt;/SPAN&gt;&lt;/STRONG&gt; that is created by the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.CreateBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; method of the console object. (See &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Arial Unicode MS','sans-serif'"&gt;②&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, in Figure 1, the queued backup and restore operations.) The properties of one of these lightweight objects hold information about the operation such as whether it is a backup or a restore, the location of the backup files, the backup or restore method, the current stage of the operation, and the tree of content components that his being backed up or restored. These objects also have an &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject.Id&lt;/SPAN&gt;&lt;/STRONG&gt; property of type &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;System.Guid&lt;/SPAN&gt;&lt;/STRONG&gt; that serves as a handle for the object that can be passed to the methods of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole&lt;/SPAN&gt;&lt;/STRONG&gt;. For example, &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.Run&lt;/SPAN&gt;&lt;/STRONG&gt; is passed the ID of the operation (that is; the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject&lt;/SPAN&gt;&lt;/STRONG&gt; object) that the console is to run next. Finally, each &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject&lt;/SPAN&gt;&lt;/STRONG&gt; has a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject.Settings&lt;/SPAN&gt;&lt;/STRONG&gt; property that holds a persisting object that contains a reusable pattern of backup (or restore) settings. This object also identifies the content component that the operation is to back up or restore. The settings objects are discussed in more detail near the end of this section.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;While the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject&lt;/SPAN&gt;&lt;/STRONG&gt; objects represent operations, the content components themselves are represented by &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; objects. (See &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Arial Unicode MS','sans-serif'"&gt;③&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, in Figure 1.) These objects can be nested with the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject.Children&lt;/SPAN&gt;&lt;/STRONG&gt; property. Therefore, each one represents a tree of one or more content components. For example, a Web application would be represented by a by &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; object that would have each of the Web application's content databases as child &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; objects. The tree of components that are the subject a particular backup or restore operation is internally linked to the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject&lt;/SPAN&gt;&lt;/STRONG&gt; object that represents the operation. You can get a reference to the topmost &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; object in the tree by passing the ID of the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject&lt;/SPAN&gt;&lt;/STRONG&gt; object to the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.GetRoot&lt;/SPAN&gt;&lt;/STRONG&gt; method. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;A &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; object is a container for two critical types of objects: &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;In its &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject.Information&lt;/SPAN&gt;&lt;/STRONG&gt; property the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; object holds either a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupInformation&lt;/SPAN&gt;&lt;/STRONG&gt; or a &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreInformation&lt;/SPAN&gt;&lt;/STRONG&gt; object. These kinds of objects hold information about how to back up or restore a particular component and methods that can be called internally by &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; as part of an operation. More specifically, these classes hold methods and properties whose implementation should never change regardless of what kind of content component is being represented. Hence, they are sealed and deriving a new class from their parent, &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation&lt;/SPAN&gt;&lt;/STRONG&gt;, is not supported. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;In its &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject.IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; property the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; object holds an object that implements the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; interface (and might also inherit from &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt;). (See &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Arial Unicode MS','sans-serif'"&gt;④&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, in Figure 1.) Implementation of the latter interface turns an object into something that can potentially be backed up and restored. Like an &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation&lt;/SPAN&gt;&lt;/STRONG&gt; object, an &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; object contains members that provide information and methods needed for backups and restorations. But the members of &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; must be given different implementations depending on the kind of content component that is being represented. Most importantly, the implementation includes event handlers for an operation's events, such as &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnBackup&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore.OnRestore&lt;/SPAN&gt;&lt;/STRONG&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Besides acting as a container, &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreObject&lt;/SPAN&gt;&lt;/STRONG&gt; is a helper class that provides easier interaction between the operation objects (&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsoleObject&lt;/SPAN&gt;&lt;/STRONG&gt;), on the one hand, and the component information objects (&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt;), on the other. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;The final major classes are &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupSettings&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreSettings&lt;/SPAN&gt;&lt;/STRONG&gt;. An object of one of these two types is passed to the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole.CreateBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; method when an operation is created. (See &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Arial Unicode MS','sans-serif'"&gt;⑤&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, in Figure 1.) Each of these objects holds settings for use in operations; most importantly, they identify, in their &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings.IndividualItem&lt;/SPAN&gt;&lt;/STRONG&gt; property, the content component that is the subject of the backup or restore operation. (See &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: 'Arial Unicode MS','sans-serif'"&gt;⑥&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;, in Figure 1.)&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Programming Advice&lt;/FONT&gt;&lt;/H2&gt;
&lt;H3 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#c0c0c0 size=3&gt;Ways of Customization &lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Most of the critical classes in the backup restore object model are sealed (&lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;NotInheritable&lt;/STRONG&gt;&lt;/SPAN&gt; in Visual Basic). Moreover, although the following classes are not sealed, deriving from them is not supported. In each case, you must use the existing derived classes:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreInformation&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;FONT face=Verdana&gt;. (Existing derived classes: &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupInformation&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreInformation&lt;/SPAN&gt;&lt;/STRONG&gt;.) &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreSettings&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;FONT face=Verdana&gt;. (Existing derived classes: &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupSettings&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPRestoreSettings&lt;/SPAN&gt;&lt;/STRONG&gt;.) &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Accordingly, there are just two primary points of customization:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;You can create your own high level application, and UI, that will use the static methods of the operations console — an &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;SPBackupRestoreConsole&lt;/SPAN&gt;&lt;/STRONG&gt; object — to manage and run backup and restore jobs. For more information about how to do this see &lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Back Up Content" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-content.aspx"&gt;How to: Programmatically Back Up Content&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt; and &lt;SPAN class=LinkText&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=LinkText&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Restore Content" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-restore-content.aspx"&gt;How to: Programmatically Restore Content&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=BulletedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;·&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;You can create a class that implements the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt; interface and might or might not also derive the &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPPersistedObject&lt;/SPAN&gt;&lt;/STRONG&gt; class. For more information about how to create a custom content class, see &lt;SPAN class=LinkText&gt;&lt;FONT color=#0000ff&gt;&lt;SPAN class=LinkText&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Create a Content Class That Can Be Backed Up and Restored" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-create-a-content-class-that-can-be-backed-up-and-restored.aspx"&gt;How to: Create a Content Class That Can Be Backed Up and Restored&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;.&lt;SPAN class=MsoCommentReference&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#c0c0c0 size=3&gt;Permissions&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Code that backs up content must run in the user context of a farm administrator. Code that restores must run in the context of a user who is both a farm administrator and an administrator on all the front-end servers. The user should also have read and write permissions for the backup location. &lt;/FONT&gt;&lt;/P&gt;
&lt;H3 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#c0c0c0 size=3&gt;Failure Logging&lt;/FONT&gt;&lt;/H3&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;If a backup or restore operation fails, details about the failure will be logged in &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;spbackup.log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; or &lt;/FONT&gt;&lt;SPAN class=CodeEmbedded&gt;&lt;SPAN style="mso-bidi-font-family: 'Times New Roman'"&gt;&lt;FONT face="Courier New" color=#000080&gt;sprestore.log&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt; in the backup location.&lt;/FONT&gt;&lt;/P&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt"&gt;&lt;FONT face=Verdana color=#808080 size=3&gt;Backups and Restores of Site Collections&lt;/FONT&gt;&lt;/H2&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Aside from custom content types that you create by implementing &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;IBackupRestore&lt;/SPAN&gt;&lt;/STRONG&gt;, the smallest content object that you can back up and restore with the classes in the &lt;B style="mso-bidi-font-weight: normal"&gt;Microsoft.SharePoint.Administration.Backup &lt;/B&gt;namespace is a content database. To programmatically backup or restore individual site collections, use &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPSiteCollection.Backup(System.String,System.String,System.Boolean)&lt;/SPAN&gt;&lt;/STRONG&gt; and &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Verdana','sans-serif'"&gt;Microsoft.SharePoint.Administration.SPSiteCollection.Restore(System.String,System.String,System.Boolean)&lt;/SPAN&gt;&lt;/STRONG&gt;. For more information on backing up and restoring site collections, see &lt;SPAN class=LinkText&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A class="" title="How to: Programmatically Backup and Restore a Single Site Collection" href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-and-restore-a-single-site-collection.aspx" target=_blank mce_href="http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/07/how-to-programmatically-back-up-and-restore-a-single-site-collection.aspx"&gt;How to: Programmatically Backup and Restore a Single Site Collection&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;o:p&gt;&lt;FONT face=Verdana&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7527283" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/restore/default.aspx">restore</category><category domain="http://blogs.msdn.com/sharepointdeveloperdocs/archive/tags/backup/default.aspx">backup</category></item><item><title>Extending the Connect To menu item</title><link>http://blogs.msdn.com/sharepointdeveloperdocs/archive/2008/02/01/extending-the-connect-to-menu-item.aspx</link><pubDate>Fri, 01 Feb 2008 20:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7376316</guid><dc:creator>Albert Meerscheidt</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sharepointdeveloperdocs/comments/7376316.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sharepointdeveloperdocs/commentrss.aspx?PostID=7376316</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;
&lt;H1 style="MARGIN: 9pt 0in 3pt -0.25in"&gt;&lt;FONT face=Verdana color=#808080&gt;Introduction&lt;/FONT&gt;&lt;/H1&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;In my last two posts I discussed how third party clients can most efficiently synchronize with Windows SharePoint Services 3.0 In this article I look into extending the “&lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;Connect To…&lt;/STRONG&gt;&lt;/SPAN&gt;” menu item. The “&lt;SPAN class=LanguageKeyword&gt;&lt;STRONG&gt;Connect To…&lt;/STRONG&gt;&lt;/SPAN&gt;” menu item is extensible so that any client can make use of it.&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;H2 style="MARGIN: 9pt 0in 3pt -0.25in"&gt;&lt;FONT face=Verdana color=#808080&gt;Extending the “Connect To” menu item&lt;/FONT&gt;&lt;/H2&gt;&lt;/BLOCKQUOTE&gt;
&lt;P class=MsoNormal style="MARGIN: 3pt 0in"&gt;&lt;FONT face=Verdana&gt;Client applications must do two things in order for the Connect To menu item to be displayed:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Register the stssync:// protocol handler&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=NumberedList1 style="MARGIN: 3pt 0in 3pt 0.25in"&gt;&lt;SPAN style="mso-bidi-font-family: Verdana; mso-fareast-font-family: Verdana"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Verdana&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Verdana&gt;Install an ActiveX control that returns the application name and an