<?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>Sathish's world of technology</title><link>http://blogs.msdn.com/sathishcg/default.aspx</link><description>Finding a way to make software quality nearer to surgical doctor's work quality :)
</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>White Paper – Commerce Server Profiles</title><link>http://blogs.msdn.com/sathishcg/archive/2009/11/25/white-paper-commerce-server-profiles.aspx</link><pubDate>Wed, 25 Nov 2009 08:39:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928441</guid><dc:creator>sathishc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/9928441.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=9928441</wfw:commentRss><description>&lt;p&gt;New white paper on integrating commerce server profiles with external data stores has been published. &lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/commerceserver/en/us/white-papers.aspx" href="http://www.microsoft.com/commerceserver/en/us/white-papers.aspx"&gt;http://www.microsoft.com/commerceserver/en/us/white-papers.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Direct Link - &lt;a title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ce5629ad-2473-4c25-8f89-91c8530cd764" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ce5629ad-2473-4c25-8f89-91c8530cd764"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ce5629ad-2473-4c25-8f89-91c8530cd764&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928441" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/White+Papers/default.aspx">White Papers</category></item><item><title>Commerce Server Order Schema Manager- Tool to manage OrderObjectMapping.xml</title><link>http://blogs.msdn.com/sathishcg/archive/2008/09/03/commerce-server-order-schema-manager-tool-to-manage-orderobjectmapping-xml.aspx</link><pubDate>Wed, 03 Sep 2008 11:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8921640</guid><dc:creator>sathishc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/8921640.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=8921640</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 18pt"&gt;&lt;STRONG&gt;Introduction &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Order schema manager is a custom tool to extend Commerce Server Order Schema. Commerce Server order schema is represented through an xml file name OrderObjectMapping.xml. Extending the schema is accomplished by modifying the xml file manually. I thought of automating the process and end up developing the schema manager tool. I use this for extending order schema and found it very useful. &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 18pt"&gt;&lt;STRONG&gt;How does the tool work? &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Schema manager works on the schema file and allows the developer to extend the default schema. It also allows the developer to compile the schema file to generate the database script file. It internally uses the &lt;STRONG&gt;OrderMapping.exe &lt;/STRONG&gt;to compile the schema file. The tool works on some initialization parameters to compile the schema. Initialization parameters are stored in the application configuration file and the same can be modified by the developers in the compiler page. Following are the details about the initialization parameters and its usage. &lt;/P&gt;
&lt;DIV&gt;
&lt;TABLE class="" style="BORDER-COLLAPSE: collapse" border=0&gt;
&lt;COLGROUP&gt;
&lt;COL style="WIDTH: 319px"&gt;
&lt;COL style="WIDTH: 319px"&gt;&lt;/COLGROUP&gt;
&lt;TBODY vAlign=top&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P style="TEXT-ALIGN: center"&gt;Parameter Name&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: black 0.5pt solid; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P style="TEXT-ALIGN: center"&gt;Description&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P&gt;OrderMappingFilePath&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P&gt;Path of the OrderMapping.exe tool. &lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P&gt;TempDirectory&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P&gt;Temporary directory to do the compilation at runtime.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P&gt;DependentAssembliesPath&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P&gt;Path of the order extension assemblies. Accepts multiple folder paths, delimited by ";".&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: black 0.5pt solid; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P&gt;SupportedSQLTypes&lt;/P&gt;&lt;/TD&gt;
&lt;TD class="" style="BORDER-RIGHT: black 0.5pt solid; PADDING-RIGHT: 7px; BORDER-TOP: medium none; PADDING-LEFT: 7px; BORDER-LEFT: medium none; BORDER-BOTTOM: black 0.5pt solid"&gt;
&lt;P&gt;SQL types supported by Commerce Server 2007. SQL data types delimited by ";". Values specified in the key is used to populate the data type combo box in the table definitions tab.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;Tool copies the following files to the temporary directory and compiles the schema file. &lt;/DIV&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;OrderMapping.exe &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Dependent assemblies. &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Web.config &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;OrderObjectmapping.xml &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;SPAN style="FONT-SIZE: 18pt"&gt;&lt;STRONG&gt;Supported Features &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Managing table definitions &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Creating new tables &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Creating new columns &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Managing Foreign and Primary key constraints &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Adding marshaled data column &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Managing Classes /Types &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Creating a new class. &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Changing an existing class to a new one and updating the related information. &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Managing Collection relationships. &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;SPAN style="TEXT-DECORATION: underline"&gt;&lt;STRONG&gt;Managing Table-Class Mapping &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Create new mapping &lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="TEXT-ALIGN: justify"&gt;Delete existing mapping &lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;SPAN style="FONT-SIZE: 18pt"&gt;&lt;STRONG&gt;Note &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Commerce Server order schema is represented in a tree view and all the operations are initiated through context menus. Right clicking on the nodes will show appropriate menus. Context menus are activated only through mouse clicks and not through key board shortcuts. Current version of the tool doesn't provide an option to manage OrderPipelineMapping.xml (part of order schema). &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Happing coding &lt;SPAN style="FONT-FAMILY: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8921640" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/sathishcg/attachment/8921640.ashx" length="401966" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/sathishcg/archive/tags/Commerce+Server+2007/default.aspx">Commerce Server 2007</category></item><item><title>Commerce Server 2007 Ramp up</title><link>http://blogs.msdn.com/sathishcg/archive/2007/11/14/commerce-server-2007-ramp-up.aspx</link><pubDate>Wed, 14 Nov 2007 12:31:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6203478</guid><dc:creator>sathishc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/6203478.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=6203478</wfw:commentRss><description>&lt;p&gt;I will be writing Hand's on Labs to enable developers to ramp up in Commerce Server 2007. The main objective of the HOL is to give step by step instructions to build a basic e-commerce site. Stay tuned &lt;span style="font-family:Wingdings"&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6203478" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/Training+_2F00_Ramp+up+-+Commerce+Server+2007/default.aspx">Training /Ramp up - Commerce Server 2007</category></item><item><title>Importing Commerce server Profiles – Deployment utility</title><link>http://blogs.msdn.com/sathishcg/archive/2007/10/05/importing-commerce-server-profiles-deployment-utility.aspx</link><pubDate>Fri, 05 Oct 2007 13:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5290865</guid><dc:creator>sathishc</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/5290865.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=5290865</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;Introduction &lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Deploying commerce server profiles is a repetitive task / requirement in many commerce server engagements. Commerce server profile system is extensible and supports various data bases as data stores. Every engagement takes this advantage and extends the profiles based on the project requirement. Question about &lt;STRONG&gt;profile deployment&lt;/STRONG&gt; is very common in all the commerce server engagements with some differing profile implementations. Some projects use SQL server as data source and some of them use the combination of SQL &amp;amp; AD. In all these cases, deploying commerce server profiles still stands as a common requirement. While thinking about this, I got the idea of developing a generic deployment tool which can be used across engagements with the support of extensibility to deal with project specifics. Common solutions across implementations &lt;SPAN style="FONT-FAMILY: Wingdings"&gt;&lt;/SPAN&gt; , good old concept of &lt;STRONG&gt;Design Patterns&lt;/STRONG&gt; strikes my mind. Very powerful and difficult concept to convince people….. Let's target the problem with design patterns… &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;STRONG&gt;Problem statement &lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Commerce server represents profiles in xml format and provides options to export and import profiles of commerce site. In the development environment we use Commerce Server manager to import or export profiles. Automating this will be great value add in the development life cycle. The tool will also play a very vital role in defining the automated build and deploy process for engagements. Commerce server runtime provides api's to import and export profiles programmatically. The code is very simple and doesn't take much time to implement specific to an engagement. The main idea of this tool is not to deal with the project specifics; instead it should be generalized tool which can be adopted in any commerce server engagements with the provision of extensibility. Let' dive in to the technical specification of the requirement. &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;STRONG&gt;Technical Specification &lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Exporting a profile is very generic and doesn't need any specific code to make it generic. It just expects a site name and output file name. The logic can be directly burned in the tool by getting the above specified parameters. Importing profile is little tricky. Commerce runtime API takes Profile/Bizdata connection string and the profile xml as the input to perform the process of import. The first parameter can be parameterized easily. Second parameter takes the profile xml file path. Every engagement would have implemented different profile data stores in commerce server profiles. Every data source expects certain parameters like connection string, Active directory credentials etc. Basically the xml file content needs to be updated with project specific implementation and then the same needs to be passed to commerce server runtime api's. &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;I have tailored the observer &lt;STRONG&gt;design pattern&lt;/STRONG&gt; to achieve the same. Profile import tool has an initialization file named &lt;STRONG&gt;InitData.xml&lt;/STRONG&gt;. Initdata xml represents the initialization data / parameters used by the tool to perform the process of import and export. The xml file also allows the users to specify handler's information. Handlers are nothing but &lt;STRONG&gt;Assembly &amp;amp; Type&lt;/STRONG&gt; combination information stored in the initialization file. Before starting the process of import / export, the tool looks into the configured handlers and instantiates the same through reflection and call appropriate interface methods to parse the xml document. I also expect the configured &lt;STRONG&gt;Type&lt;/STRONG&gt; to implement the &lt;STRONG&gt;&lt;EM&gt;IProfileDocumentHandler &lt;/EM&gt;&lt;/STRONG&gt;interface. Handlers are specific to a partition or data source defined in the profile schema. One Data source can map to multiple handlers. &lt;STRONG&gt;Import tool identifies all the data sources defined in the profile document and searches for the handlers in the initialization file (InitData.xml) and calls the appropriate handlers to modify the xml document&lt;/STRONG&gt;. Code to modify the profile xml document is implemented in the handler implementation. This gives us a clean way to isolate import process and project specific information processing. It also gives chance to the implementers to customize the tool to their requirements. Initialization file also allow the users to specify custom initialization or configurable parameters. &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;STRONG&gt;Initialization File Format &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;xml&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;version&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;1.0&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;encoding&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;utf-8&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; ?&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;InitData&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!-- &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SiteConnection&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;SiteName&amp;gt;Commerce Site Name&amp;lt;/SiteName&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;BizConnectionString&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&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; Profile resouce connection string &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/BizConnectionString&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;UserName&amp;gt; future use.&amp;lt;/UserName &amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Password&amp;gt;&amp;lt;/Password&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/SiteConnection&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SiteConnection&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SiteName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Framework&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SiteName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;BizConnectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Provider=SQLOLEDB;Data Source=local-CS;Initial Catalog=Framework_profiles;Integrated Security=SSPI;Network Library=;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;BizConnectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;UserName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;UserName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Password&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Password&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;SiteConnection&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DataSources&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Partition name="Commerce User Profile PartitionName"&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User can have there own inititalization paramterd under partition node. &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Same will be passed to the handlers in runtime. &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&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;lt;connectionString&amp;gt;Target Connection String&amp;lt;/connectionString&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Partition&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DataSources&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;--&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DataSources&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Partition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;UserObjectDS&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;connectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI;Initial Catalog=site_profiles;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;connectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Partition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Partition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;DataSource1&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;connectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt; Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI;Initial Catalog=site_profiles;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;connectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Partition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DataSources&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;!--&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Handlers&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Handler partitionName="Commerce User Profile PartitionName"&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&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;lt;assembly path ="Assembly Path" type="TypeName" enable="1"&amp;gt;&amp;lt;/assembly&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Handler&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;Handler partitionName="Commerce User Profile PartitionName"&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&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;lt;assembly path ="Assembly Path" type="TypeName" enable="1"&amp;gt;&amp;lt;/assembly&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Handler&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/Handlers&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Partition Name configured in handlers section should match with the partition name &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: green; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in the data sources section. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Handlers&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Handler&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;partitionName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; UserObjectDS&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;assembly&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;path&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; =&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;lt;fullpath&amp;gt;Handlers.dll&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;Microsoft.Commerce.ProfileManager.Handlers.ConnectionStringHandler&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;enable&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;1&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;assembly&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Handler&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Handler&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;partitionName&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; DataSource1&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;assembly&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;path&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; =&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;lt;fullpath&amp;gt;Handlers.dll&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;Microsoft.Commerce.ProfileManager.Handlers.ConnectionStringHandler&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;enable&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;1&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;assembly&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Handler&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Handlers&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;InitData&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;STRONG&gt;SQL Connection String Handler implementation &lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Connection string handler can be used to handle any data sources which has SQL server as the data store. Handler expects connection string information in the following location in the initdata.xml. &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DataSources&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Partition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;UserObjectDS&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;connectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Provider=SQLOLEDB;Data Source=(local);Integrated Security=SSPI;Initial Catalog=site_profiles;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;connectionString&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;Partition&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #a31515"&gt;DataSources&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Handler uses this information to update the connection string information in the specified partition name in the profile document. &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;STRONG&gt;Profile Import Tool Usage &lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;CSProfileManager import &amp;lt;Init data file Path&amp;gt; &amp;lt;Profile definition file path&amp;gt; &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;CSProfileManager export &amp;lt;Init data file Path&amp;gt; &amp;lt;xml file path to export&amp;gt; &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;STRONG&gt;Conclusion &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Profile import tool can be customized with little dev effort to suit the requirement of a project. Tool provides extensibility based on observer pattern. Created SQL Connection String handler to handle to SQL based data sources. Similarly we can create handlers to handle other data stores like AD etc. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5290865" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/sathishcg/attachment/5290865.ashx" length="71129" type="application/x-zip-compressed" /></item><item><title>Packaging and Unpacking Commerce Server Sites through PUP Package</title><link>http://blogs.msdn.com/sathishcg/archive/2007/08/28/packaging-and-unpacking-commerce-server-sites-through-pup-package.aspx</link><pubDate>Tue, 28 Aug 2007 11:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4607399</guid><dc:creator>sathishc</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/4607399.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=4607399</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;Introduction &lt;/strong&gt;
	&lt;/p&gt;&lt;p style="text-align: justify"&gt;    Commerce server provides PUP.exe to automate the process of packing and un-packing a commerce site. Tool has its existence from the days of &lt;strong&gt;Site Server&lt;/strong&gt;. Complete Meta data of a commerce site is managed by pup package. Using the pup package in GUI mode is straight forward and it's quite simple. Every commerce server engagement demands for an automated process to pack and un-pack a commerce server site in an unattended mode. I tried the same in one of my commerce server engagement and tried pup.exe to automate the above process. I faced many hurdles while automating the process and got good support from Commerce Server PSS team in overcoming the hurdles. I would like to share my learning's in this article. 
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Configuration files &lt;/strong&gt;
	&lt;/p&gt;&lt;p style="text-align: justify"&gt;    PUP package can be executed in &lt;strong&gt;un-attended / silent&lt;/strong&gt; mode through a configuration file. Configuration file has complete information about the site to be unpacked. The configuration file doesn't play any role in the process of packing the site.PUP.exe packs the entire site content configured in commerce server manager. Profile resource is driven through an additional configuration file which has the information about the profile schema and profile SQL definition. Following are the list of configuration files expected by pup.exe to run in unattended mode. 
&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:133px"/&gt;&lt;col style="width:505px"/&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td colspan="2" vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p style="text-align: center"&gt;File Name&lt;/p&gt;&lt;/td&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;Comment&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;Site Configuration file &lt;/p&gt;&lt;/td&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;Used only in the process of unpacking a site and instructs pup.exe with the information about the site resources to be unpacked. Configuration file should adhere to the format identified by the packaging tool and the same will be discussed later in the article.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;BizData.ini – Profile specific configuration file&lt;/p&gt;&lt;/td&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p style="text-align: justify"&gt;Used to provide information specific to the profiles (Global resource). Configuration file contains information's like profile schema definition, SQL schema definition, Site Terms definition xml etc. To achieve un-attended process we need to place this file in the commerce server installation directory &lt;strong&gt;(C:\Program Files\Microsoft Commerce Server 2007) &lt;/strong&gt;and in the executing directory of pup.exe&lt;strong&gt;. &lt;/strong&gt;Pup package tries to locate the profile information from this file and expects the file to be in the directories. If the file is not available, pup.exe pops up a UI to locate the same. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Site Configuration File &lt;/strong&gt;
	&lt;/p&gt;&lt;p style="text-align: justify"&gt;Site configuration file instructs the packager about the resources and applications needs to be unpacked. Following configuration file can be used to unpack the &lt;strong&gt;EmpySite&lt;/strong&gt; in command line. The same file can be modified to unpack any commerce site through command line. Connection strings specified in the below configuration should be in the same format. PUP.exe expects the connection string only in that format. 
&lt;/p&gt;&lt;p style="text-align: justify"&gt; 
 &lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[General] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;SiteName=GameServiceSetup1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Description=Silent CSharpSite Install with Windows Authentication &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;NumOfResources= 7 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;NumOfApplications= 5 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Resource0=Product Catalog &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Resource1=Transactions &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Resource2=Transaction Config &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Resource3=Biz Data Service &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Resource4=Site CS Authentication &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Resource5=Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Resource6=Inventory &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Application0=CatalogWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Application1=CSharpSite &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Application2=MarketingWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Application3=OrdersWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Application4=ProfilesWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;NumOfConnStrs= 7 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[ConnStrs] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrResourceName0=Product Catalog &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrPropertyName0=connstr_db_Catalog &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyResourceName0=Product Catalog &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyPropertyName0=connstr_db_Catalog &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrValue0=Provider=SQLOLEDB;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=CSharpSite_ProductCatalog;Data Source=localhost; &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrResourceName1=Transactions &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrPropertyName1=connstr_db_Transactions &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyResourceName1=Transactions &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyPropertyName1=connstr_db_Transactions &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrValue1=Provider=SQLOLEDB;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=CSharpSite_Transactions;Data Source=localhost; &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrResourceName2=Transaction Config &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrPropertyName2=connstr_db_TransactionConfig &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyResourceName2=Transaction Config &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyPropertyName2=connstr_db_TransactionConfig &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrValue2=Provider=SQLOLEDB;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=CSharpSite_Transactionconfig;Data Source=localhost; &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrResourceName3=Biz Data Service &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrPropertyName3=connstr_db_bds &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyResourceName3=Profiles &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyPropertyName3=connstr_db_bds &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrValue3=Provider=SQLOLEDB;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=CSharpSite_Profiles;Data Source=localhost; &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrResourceName4=Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrPropertyName4=connstr_db_Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyResourceName4=Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyPropertyName4=connstr_db_Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrValue4=Provider=SQLOLEDB;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=CSharpSite_Marketing;Data Source=localhost; &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrResourceName5=Inventory &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrPropertyName5=connstr_db_inventory &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyResourceName5=Inventory &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyPropertyName5=connstr_db_inventory &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrValue5=Provider=SQLOLEDB;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=CSharpSite_ProductCatalog;Data Source=localhost; &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrResourceName6=Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrPropertyName6=connstr_db_Lists &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyResourceName6=Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrFriendlyPropertyName6=connstr_db_Lists &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ConnStrValue6=Provider=SQLOLEDB;Persist Security Info=False;Integrated Security=SSPI;Initial Catalog=CSharpSite_Marketing_Lists;Data Source=localhost; &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[Product Catalog] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=2 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.CatalogPUP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Catalog &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Product Catalog &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[Transactions] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=2 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.OrdersPup &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Transactions &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Transactions &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[Transaction Config] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=2 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.OrdersPup &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=TransactionConfig &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Transaction Config &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[Biz Data Service] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=7 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.UPMPuP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=BizDataStore &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Profiles &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;GlobalResourceName= (Add new global resource) &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[Site CS Authentication] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=3 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.AuthPuP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=AuthManager &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=CS Authentication &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;GlobalResourceName= (Add new global resource) &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[Inventory] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=2 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.CatalogPUP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Inventory &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Inventory &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[Marketing] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=2 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.MarketingPup &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Marketing &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[CatalogWebService] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=5130 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.AddressPuP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AccessFlags=513 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AuthFlags=4 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AppIsolated=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AspCodePage=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;VRoot=CatalogWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;CSAppName=CatalogWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Website=Default Web Site &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Machine=localhost &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[CSharpSite] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=10 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.AddressPuP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AccessFlags=513 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AuthFlags=7 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AppIsolated=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AspCodePage=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;VRoot=CSharpSite &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;CSAppName=CSharpSite &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Website=Default Web Site &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Machine=localhost &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[MarketingWebService] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=9226 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.AddressPuP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AccessFlags=513 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AuthFlags=4 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AppIsolated=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AspCodePage=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;VRoot=MarketingWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;CSAppName=MarketingWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Website=Default Web Site &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Machine=localhost &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[OrdersWebService] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=3082 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.AddressPuP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AccessFlags=513 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AuthFlags=4 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AppIsolated=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AspCodePage=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;VRoot=OrdersWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;CSAppName=OrdersWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Website=Default Web Site &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Machine=localhost &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[ProfilesWebService] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceFlags=17418 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;PupFlags=1 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProgidPUP=Commerce.AddressPuP &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ResourceType=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;FriendlyName=Address &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AccessFlags=513 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AuthFlags=4 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AppIsolated=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;AspCodePage=0 &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;VRoot=ProfilesWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;CSAppName=ProfilesWebService &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Website=Default Web Site &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;Machine=localhost &lt;/span&gt;
	&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;BizData.ini – Profile specific configuration file &lt;/strong&gt;
	&lt;/p&gt;&lt;p&gt;This file needs to be placed in the commerce server installation directory and in the executing directory of pup.exe. 
&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[BizDataSchema] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;catalogSchema=catalogSchema.sql &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;expressionSchema=es_create.sql     &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;expressionSprocs=es_stored_procs.sql &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;profileDefs=ProfileSQL_Starter.xml &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;siteTermDefs=SiteTerms.xml &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;expressionDefs=ExpressionDefinition.xml &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[BizDataStoreFlags] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;IsSilentMode=True &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;[UPM_SQLSource.SQLSource] &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;IsBizDataStore=True &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;ProviderString=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=StarterSite_Profiles;Data Source=localhost; &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;schemaDefs=ProfileSQL_Starter.sql &lt;/span&gt;
	&lt;/p&gt;&lt;p style="margin-left: 108pt"&gt;&lt;span style="font-family:Tahoma; font-size:8pt"&gt;dataDefs= &lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;strong&gt;PUP Log File &lt;/strong&gt;
	&lt;/p&gt;&lt;p style="text-align: justify"&gt;Pup.exe creates a log file named pup.log in C drive and logs information to the file during the process of packing and unpacking a commerce site. The information in the file will be of great use for troubleshooting. 
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Packing a commerce site &lt;/strong&gt;
	&lt;/p&gt;&lt;p style="text-align: justify"&gt;Following command should be used to pack a commerce site in command prompt. Execute the below command in Commerce Server Command prompt. 
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;PUP.exe /p /f:&amp;lt;valid siten ame&amp;gt;/i:Config.ini /s:&amp;lt;SiteName&amp;gt; &lt;/strong&gt;
	&lt;/p&gt;&lt;p style="text-align: justify"&gt;Config.ini is of no use in the process of packing a commerce site. Pup.exe packs the entire site content. If we are not using the /i: parameter, pup.exe will pop up the UI. To make the packing process silent, we need to use /i: option &lt;span style="font-family:Wingdings"&gt;J&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Unpacking a Commerce Site &lt;/strong&gt;
	&lt;/p&gt;&lt;p style="text-align: justify"&gt;Following command should be used to un-pack a commerce site in command prompt. Execute the below command in Commerce Server Tools Command prompt. 
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;PUP.exe /u /f:&amp;lt;pup package path&amp;gt; /i:&amp;lt;Full path of the configuration file&amp;gt;/s:&amp;lt;New Site Name&amp;gt; &lt;/strong&gt;
	&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Sample Automation Tool &lt;/strong&gt;
	&lt;/p&gt;&lt;p style="text-align: justify"&gt;I have created a sample automation tool to automate the process of packing and unpacking commerce site. The Batch file takes parameters needed by pup.exe and calls the pup.exe with appropriate parameters. Following are the details about the tool. Automation tool has the configuration file in the &lt;strong&gt;Master Template folder &lt;/strong&gt;with needed place holders. For every environment I have created a separated folder (Test, Staging etc) which contains the following files. 
&lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:135px"/&gt;&lt;col style="width:503px"/&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;File Name&lt;/p&gt;&lt;/td&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  solid black 0.5pt; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;Comments&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;FindAndReplace.exe&lt;/p&gt;&lt;/td&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;.Net console app used to do replacement in the configuration file based on the parameters passed. Can be replaced with some dos commands &lt;span style="font-family:Wingdings"&gt;J&lt;/span&gt;
						&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;InsallCommerce.bat&lt;/p&gt;&lt;/td&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;Unpacks a commerce site. Takes site name as a parameter. Other parameters like pup package file path are hard coded in the batch file. Can be parameterized based on the requirement. Bat file does the following tasks. 
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Resets IIS 
&lt;/li&gt;&lt;li&gt;Copies all the files to the executing folder from master template folder. 
&lt;/li&gt;&lt;li&gt;Copies bizdata.ini to C:\Program Files\Microsoft Commerce Server 2007 folder. 
&lt;/li&gt;&lt;li&gt;Replaces ~SiteName~ place holder with the appropriate site name. 
&lt;/li&gt;&lt;li&gt;Executes pup.exe with appropriate parameter for unpacking a commerce site. 
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Currently the tool unpacks &lt;strong&gt;empty.pup&lt;/strong&gt; and can be modified to unpack any valid commerce server sites. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  solid black 0.5pt; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;PackCommerce.bat&lt;/p&gt;&lt;/td&gt;&lt;td vAlign="middle" style="padding-top: 1px; padding-left: 7px; padding-bottom: 1px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid black 0.5pt; border-right:  solid black 0.5pt"&gt;&lt;p&gt;Takes existing commerce server site name as parameter and packs the site through pup.exe&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Using Automation Tool &lt;/strong&gt;
	&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;Download &lt;strong&gt;PUP Automation.zip &lt;/strong&gt;. 
&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;Extract the file content to a directory. 
&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;Exaction process will create the following directories. 
&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;Master Template &amp;amp; 
&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;Test 
&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;Use Commerce Server Tools prompt to execute installcommerce.bat with site name as parameter. (Batch file is located in the test directory). 
&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div style="text-align: justify"&gt;Above command will a new commerce site using &lt;strong&gt;empty.pup&lt;/strong&gt;. 
&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;Packaging tool limitation &lt;/strong&gt;
	&lt;/p&gt;&lt;p&gt;PUP.exe cannot be used to unpack a commerce server site in silent mode which has &lt;strong&gt;AD integration&lt;/strong&gt; in profiles. The same is supported in GUI mode. It's a limitation in the tool. 
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Conclusion &lt;/strong&gt;
	&lt;/p&gt;&lt;p&gt;PUP.exe is the not recommended way to deploy commerce sites in production environment. We need to use staging for the same. This can be used only to setup the initial site and further updates should be done through staging. To set-up the base commerce site pup package is the only option and can be automated with the command line options. Development stage of commerce server engagement demands for the above automation. The above process should be used only in the stage of development. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4607399" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/sathishcg/attachment/4607399.ashx" length="154906" type="application/x-zip-compressed" /></item><item><title>Commerce Server 2007 - Data Migration</title><link>http://blogs.msdn.com/sathishcg/archive/2007/07/26/commerce-server-2007-data-migration.aspx</link><pubDate>Thu, 26 Jul 2007 12:48:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4059534</guid><dc:creator>sathishc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/4059534.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=4059534</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;:- &lt;/P&gt;
&lt;P&gt;In this article I will be discussing about various challenges we face during data migration from CS 2000 to CS 2007. Before getting into the issues let's discuss the basic process involved in the process of data migration. This article covers transactions data migration. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Commerce Server 2007 Migration Wizard&lt;/STRONG&gt;:- &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Commerce server 2007 comes with a migration wizard to migrate previous versions of commerce server to CS 2007. Commerce server 2007 underwent various design changes in the product. Previous versions of commerce are COM based. Most of the sub-systems in Commerce 2007 have been re-written in managed code. Commerce Server 2007 provides and extensible architecture to extent various sub systems. Commerce Server 2007 wizard works very similar to the runtime architecture. Entire order system of the site has been represented through OrderObjectMapping.xml and OrderPipeLineMapping.xml. Commerce server 2007 wizard follows the same structure to migrate the data from previous version of commerce server. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Various parts of Upgrade wizard:- &lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Upgrade wizard is a .Net win form application and work based on the configuration files for various configurations. Configuration file stores information very similar to the web.config of the runtime site. It stores information like Order System assemblies and adapter mapping information. Application configuration file store the path of the Storage Mapping File path and Order Migration mapping file. Order Migration mapping file is very similar to the Pipeline mapping file. Migration mapping file maps information between the order Type properties and keys of the legacy system marshaled data. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Migrating Discounts Applied:- &lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Commerce server 2007 stores various discounts applied information in a separate table. The wizard expects a separate list in the order form header marshaled data for applied discounts. Commerce Server 2000 and 2002 doesn't store information in a list, instead it stores the information in order form header in a flat hierarchy. Due to this design constraint, migration wizard doesn't provide out of box feature to migrate the same. One way to do the migration is through custom SQL migration. For this we need to grab the information from marshaled data to physical columns in the order form header table. &lt;/P&gt;
&lt;P&gt;Following are the mapping information about in discounts in the migration mapping file. &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8pt"&gt;&amp;lt;Collection Name="ItemLevelDiscountsApplied" DictionaryKey="_itemlevel_discounts_applied" KeyType="SimpleList" ReferTo="DiscountApplicationRecord" /&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 8pt"&gt;&amp;lt;Collection Name="OrderLevelDiscountsApplied" DictionaryKey="_orderlevel_discounts_applied" KeyType="SimpleList" ReferTo="DiscountApplicationRecord" /&amp;gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Migration wizard expects discounts information in the above specified keys and the same is not available in earlier versions. We need to find the discount related information in the legacy marshaled data and import the same to the SQL tables. Previous version of commerce server stores all the information in blob and also stores some information in tables. Legacy commerce runtime looks in to the keys and checks the same against the target table column list. If the table has mapping columns, runtime will store the data in the appropriate columns. We can use this flexibility to migrate the data from marshaled data to SQL tables. We can create a sample VB application to read the Orders information through commerce API's. After exploring the data through the application, we can create the needed columns in the legacy commerce tables like Order Group, Order Form Header etc. Loading and saving the order back to the system through &lt;STRONG&gt;SaveAsOrder &lt;/STRONG&gt;method will force the runtime to do data persistence. After this we can do SQL migration to CS 2007 tables. &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;Alternatively we can create appropriate lists in the legacy application marshaled data as expected by CS 2007 wizard through a sample VB application. &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;The same issue is there for Payment methods as well. We need to follow the above steps to migrate the same to CS 2007 &lt;SPAN style="FONT-FAMILY: Wingdings"&gt;&lt;/SPAN&gt; &lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;&lt;STRONG&gt;Exploring Legacy marshaled data – CS 2000 PInvoke API &lt;/STRONG&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: justify"&gt;I have created a sample visual basic application to do the discounts and payment methods migration. This application will be very useful to tweak the data stored in the legacy systems. &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4059534" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/sathishcg/attachment/4059534.ashx" length="23042" type="application/x-zip-compressed" /></item><item><title>Trouble shooting Commerce Server pipelines</title><link>http://blogs.msdn.com/sathishcg/archive/2007/07/24/trouble-shooting-commerce-server-pipelines.aspx</link><pubDate>Tue, 24 Jul 2007 13:21:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4026203</guid><dc:creator>sathishc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/4026203.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=4026203</wfw:commentRss><description>&lt;p&gt;Good reference book on working and troubleshooting commerce server pipelines. 
&lt;/p&gt;&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms959842.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms959842.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4026203" width="1" height="1"&gt;</description></item><item><title>Secret Question Answer - UPM Membership Provider</title><link>http://blogs.msdn.com/sathishcg/archive/2007/01/09/secret-question-answer-upm-membership-provider.aspx</link><pubDate>Tue, 09 Jan 2007 13:53:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1438808</guid><dc:creator>sathishc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/1438808.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=1438808</wfw:commentRss><description>&lt;p&gt;Commerce UPM Member ship provider always treats the &lt;strong&gt;security question answer&amp;nbsp;&lt;/strong&gt;as case insensitive. While creating the user , UPM Membership provider&amp;nbsp;does &lt;strong&gt;ToLower()&amp;nbsp;&lt;/strong&gt;&amp;nbsp;of the provided secret question answer&amp;nbsp;and also converts the supplied &lt;strong&gt;answer&lt;/strong&gt;&amp;nbsp;to lower case while doing comparison. If both &lt;strong&gt;Create and Forgot password&lt;/strong&gt; functionality goes through the same UPM Provider, we will not face any issues. If we are creating the users through different API's like commerce runtime or web services, keep this as one of the design constraints.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1438808" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/Commerce+Server+2007/default.aspx">Commerce Server 2007</category></item><item><title>Commerce Server 2007 Sub Systems - Unmanaged</title><link>http://blogs.msdn.com/sathishcg/archive/2006/12/24/commerce-server-2007-sub-system-unmanaged.aspx</link><pubDate>Mon, 25 Dec 2006 00:14:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1358970</guid><dc:creator>sathishc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/1358970.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=1358970</wfw:commentRss><description>&lt;p&gt;Commerce Server still runs unmanaged code in few of their sub-systems. Profiles, marketing and Pipelines&amp;nbsp;are the sub-systems which are unmanaged.&lt;/p&gt; &lt;p&gt;All other sub-systems are re-written in managed code. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1358970" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/Commerce+Server+2007/default.aspx">Commerce Server 2007</category></item><item><title>Good Article on Transactional Pipleines</title><link>http://blogs.msdn.com/sathishcg/archive/2006/12/07/good-article-on-transactional-pipleines.aspx</link><pubDate>Thu, 07 Dec 2006 09:32:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1230780</guid><dc:creator>sathishc</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/1230780.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=1230780</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/davidme/archive/2006/03/06/544193.aspx"&gt;David Messner's Transactional pipeline components&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1230780" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/Commerce+Server+2007/default.aspx">Commerce Server 2007</category></item><item><title>Cool way to skip implementation of an abstract method in an inherited class (Abstract Override keyword)</title><link>http://blogs.msdn.com/sathishcg/archive/2006/11/25/cool-way-to-skip-implementation-of-an-abstract-method-in-an-inherited-class-abstract-override-keyword.aspx</link><pubDate>Sat, 25 Nov 2006 16:48:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1147898</guid><dc:creator>sathishc</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/1147898.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=1147898</wfw:commentRss><description>&lt;p&gt;Making a class abstract helps us to &lt;em&gt;&lt;b&gt;abstract&lt;/b&gt;&lt;/em&gt; some base functionality in the base class and it will en-force all the inherited classes to give implementation for the abstract methods. Not in all cases we will be able to give implementation for all the methods.&amp;nbsp;In these cases we give dummy implementation for those methods which is not relevant for the class. We can get rid of this through &lt;strong&gt;abstract override &lt;/strong&gt;keyword in &lt;strong&gt;C#. &lt;/strong&gt;For example abstract base class &lt;strong&gt;Mobile &lt;/strong&gt;might have abstract &lt;strong&gt;(Must Override) &lt;/strong&gt;methods like &lt;strong&gt;&lt;em&gt;DisplayCamera, ActivateRadio, Init&amp;nbsp;etc... &lt;/em&gt;&lt;/strong&gt;Abstract methods like &lt;strong&gt;DisplayCamera&lt;/strong&gt;, &lt;strong&gt;ActivateRadio&lt;/strong&gt; needs implementation from the actual mobile class. We might have many implementation of SimpleMobile phone class. In those cases we might need a &lt;strong&gt;SimpleMobile &lt;/strong&gt;base class which handles all the common operations of simple mobile phones, but need to delegate the implementation of some methods to the actual implementers. In these cases we can use &lt;strong&gt;Abstract Override keyword &lt;/strong&gt;to &lt;strong&gt;dictate &lt;/strong&gt;or&amp;nbsp;&lt;strong&gt;delegate&lt;/strong&gt; the implementation of some of the methods to the actual child implementers.&amp;nbsp; Making use of &lt;strong&gt;Abstract Override keyword &lt;/strong&gt;makes the class again &lt;strong&gt;abstract&lt;/strong&gt;. &lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;public abstract class&lt;/font&gt; &lt;font color="#008000"&gt;Mobile&lt;/font&gt;&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;public abstract&lt;/font&gt; void Init();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;public abstract&lt;/font&gt; void ActivateRadio();&lt;br&gt;&lt;font color="#0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public abstract&lt;/font&gt; void DisplayCamera();&lt;br&gt;} &lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;public abstract class&lt;/font&gt; &lt;font color="#008000"&gt;SimpleMobile &lt;/font&gt;: &lt;font color="#008000"&gt;Mobile&lt;/font&gt; &lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;public override &lt;/font&gt;void Init()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#008000"&gt;// Implementation in child class.&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt; // skipping the implementation.&amp;nbsp;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt; public abstract override&lt;/font&gt; void ActivateRadio();&lt;/p&gt; &lt;p&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#008000"&gt; // skipping the implementation. Which is not relevant&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000ff"&gt;&amp;nbsp;public abstract override&lt;/font&gt; void DisplayCamera();&lt;br&gt;}&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&amp;nbsp;Note &lt;/strong&gt;- Thanks for the comments. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1147898" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/OOPS/default.aspx">OOPS</category></item><item><title>Getting Service Unavailable error message in Commerce Server Manager ?</title><link>http://blogs.msdn.com/sathishcg/archive/2006/11/25/getting-service-unavailable-in-commerce-server-manager.aspx</link><pubDate>Sat, 25 Nov 2006 14:03:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1147406</guid><dc:creator>sathishc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/1147406.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=1147406</wfw:commentRss><description>&lt;p&gt;If &lt;strong&gt;Enhanced Security configuration &lt;/strong&gt;is enabled, Commerce Server manager will give &lt;strong&gt;Service Unavailable &lt;/strong&gt;error.&amp;nbsp;Removing &amp;nbsp;&lt;strong&gt;Enhanced IE security setting through Add/Remove Programs will solve&amp;nbsp;the issue.&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/sathishcg/WindowsLiveWriter/GettingServiceUnavailableinCommerceServe_E8B4/image015.png" atomicselection="true"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="378" src="http://blogs.msdn.com/blogfiles/sathishcg/WindowsLiveWriter/GettingServiceUnavailableinCommerceServe_E8B4/image0_thumb9.png" width="481" border="0"&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1147406" width="1" height="1"&gt;</description></item><item><title>Enabling Secure Socket Layer for commerce sites</title><link>http://blogs.msdn.com/sathishcg/archive/2006/11/25/enabling-secure-socket-layer-for-commerce-sites.aspx</link><pubDate>Sat, 25 Nov 2006 13:43:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1147267</guid><dc:creator>sathishc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/1147267.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=1147267</wfw:commentRss><description>&lt;p&gt;By default all the business manager UI's connect to the commerce web services through SSL. To enable SSL we need to&amp;nbsp;do the&amp;nbsp;following steps. The same steps can also be applied to repair the SSL installation in instances like changing the machine name etc.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;Install Internet Information Services (IIS) 6.0 Resource Kit Tools.  &lt;li&gt;Resource Tool Kit can be downloaded from &lt;a href="http://go.microsoft.com/fwlink/?LinkID=59276"&gt;http://go.microsoft.com/fwlink/?LinkID=59276&lt;/a&gt;.  &lt;li&gt;After installation Click &lt;strong&gt;Start , &lt;/strong&gt;point to &lt;strong&gt;Programs, &lt;/strong&gt;point to &lt;strong&gt;IIS resources &lt;/strong&gt;and point to &lt;strong&gt;SelfSSL&lt;/strong&gt; and then click on &lt;strong&gt;SelfSSL.&lt;/strong&gt;  &lt;li&gt;In the command prompt execure SelfSSL /T /V:100  &lt;li&gt;Command will prompt to replace the existing SSL configuration if any&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;By default the command will enable SSL for&amp;nbsp;&lt;strong&gt;IIS&lt;/strong&gt; &lt;strong&gt;Default Site. &lt;/strong&gt;The command line utility also has the option to specify the site name to which SSL needs to be enabled.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1147267" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/Commerce+Server+2007/default.aspx">Commerce Server 2007</category></item><item><title>Customizing and Layering WinForm Application to acheive customization</title><link>http://blogs.msdn.com/sathishcg/archive/2006/11/24/customizing-and-layering-winform-application-to-acheive-customization.aspx</link><pubDate>Fri, 24 Nov 2006 16:25:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1140702</guid><dc:creator>sathishc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/1140702.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=1140702</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.codeproject.com/vb/net/UILayering.asp"&gt;http://www.codeproject.com/vb/net/UILayering.asp&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1140702" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/Extensibility+through+OOPS/default.aspx">Extensibility through OOPS</category></item><item><title>Undocumented SQL Server 2000 functions</title><link>http://blogs.msdn.com/sathishcg/archive/2006/11/24/undocumented-sql-server-2000-functions.aspx</link><pubDate>Fri, 24 Nov 2006 15:39:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1140548</guid><dc:creator>sathishc</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sathishcg/comments/1140548.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sathishcg/commentrss.aspx?PostID=1140548</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;font face="tahom"&gt;&amp;nbsp;Encryption in SQL server &lt;strong&gt;[pwdencrypt,pwdcompare]&lt;/strong&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="tahom"&gt;There are some hidden functions in SQL server through which we can encrypt any string and store the same in the table. This will be very helpful in encrypting the user password and other sensitive user data. Encryption supported by SQL server is one way hash. One way hash is nothing but the string encrypted cannot be decrypted. The only way is to compare values with encrypted string. &lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="tahom"&gt;DECLARE @ClearPIN varchar(255) &lt;br&gt;DECLARE @EncryptedPIN varbinary(255)&lt;br&gt;SELECT @ClearPIN = 'test'&lt;br&gt;SELECT @EncryptedPIN = CONVERT(varbinary(255), pwdencrypt(@ClearPIN))&lt;br&gt;SELECT pwdcompare(@ClearPIN, @EncryptedPIN, 0) &lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;blockquote&gt; &lt;p&gt;&lt;font face="tahom"&gt;In the above example @EncryptedPIN &amp;nbsp;will store the cipher Text. The data in this string is not the encrypted string instead it will return the hash code of the supplied plain string.&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;font face="tahom"&gt; &lt;ul&gt; &lt;li&gt;Extended Stored Procedures  &lt;ul&gt; &lt;li&gt;&lt;/font&gt;&lt;strong&gt;sp_MSgetversion&lt;/strong&gt;&lt;font face="tahom"&gt;&lt;br&gt;This extended stored procedure can be used to get the current version of Microsoft SQL Server. To get the current SQL Server version, run:&lt;br&gt;EXEC master..sp_MSgetversion&lt;br&gt;Note. A more common way to retrieve the current SQL Server version (this way provides more information) is to use following SELECT statement:&lt;br&gt;SELECT @@version&lt;/font&gt;  &lt;li&gt;&lt;strong&gt;xp_dirtree&lt;/strong&gt;&lt;br&gt;This extended stored procedure can be used to get a list of all the folders for the folder named in the xp. To get a list of all the folders in the C:\MSSQL7 folder, run: EXEC master..xp_dirtree 'C:\MSSQL7'&lt;strong&gt;&lt;/strong&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_subdirs&lt;/strong&gt;&lt;br&gt;This extended stored procedure is used to get the list of folders for the folder named in the xp. In comparison with xp_dirtree, xp_subdirs returns only those directories whose depth = 1.&lt;br&gt;This is the example:&lt;br&gt;EXEC master..xp_subdirs 'C:\MSSQL7'&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_enum_oledb_providers&lt;br&gt;&lt;/strong&gt;This extended stored procedure is used to list of all the available OLE DB providers. It returns Provider Name, Parse Name and Provider Description. To get a list of all OLE DB providers for your SQL Server, run:&lt;br&gt;EXEC master..xp_enum_oledb_providers&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_enumcodepages&lt;/strong&gt;&lt;br&gt;This extended stored procedure can be used to list of all code pages, character sets and their description for your SQL Server. To see this, list, run:&lt;br&gt;EXEC master..xp_enumcodepages&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_enumdsn&lt;br&gt;&lt;/strong&gt;This extended stored procedure returns a list of all system DSNs and their descriptions. To get the list of system DSNs, run:&lt;br&gt;EXEC master..xp_enumdsn&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_enumerrorlogs&lt;/strong&gt;&lt;br&gt;This extended stored procedure returns the list of all error logs with their last change date. To get the list of error logs, run:&lt;br&gt;EXEC master..xp_enumerrorlogs &lt;/font&gt; &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_enumgroups&lt;br&gt;&lt;/strong&gt;This extended stored procedure returns the list of Windows NT groups and their description. To get the list of the Windows NT groups, run:&lt;br&gt;EXEC master..xp_enumgroups&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_fileexist&lt;/strong&gt;&lt;br&gt;You can use this extended stored procedure to determine whether a particular file exists on the disk or not. The syntax for this xp is:&lt;br&gt;EXECUTE xp_fileexist filename [, file_exists INT OUTPUT]&lt;br&gt;For example, to check whether the file boot.ini exists on disk c: or not, run:&lt;br&gt;EXEC master..xp_fileexist 'c:\boot.ini'&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_fixeddrives&lt;br&gt;&lt;/strong&gt;This very useful extended stored procedure returns the list of all hard drives and the amount of free space in Mb for each hard drive. To see the list of drives, run:&lt;br&gt;EXEC master..xp_fixeddrives&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_getnetname&lt;/strong&gt;&lt;br&gt;This extended stored procedure returns the WINS name of the SQL Server that you're connected to. To view the name, run:&lt;br&gt;EXEC master..xp_getnetname&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_readerrorlog&lt;br&gt;&lt;/strong&gt;This extended stored procedure returns the content of the errorlog file. You can find the errorlog file in the C:\MSSQL7\Log directory, by default. To see the text of the errorlog file, run:&lt;br&gt;EXEC master..xp_readerrorlog&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_regdeletekey&lt;/strong&gt;&lt;br&gt;This extended stored procedure will delete an entire key from the registry. You should use it very carefully. The syntax is:&lt;br&gt;EXECUTE xp_regdeletekey [@rootkey=]'rootkey', [@key=]'key' &lt;br&gt;For example, to delete the key 'SOFTWARE\Test' from 'HKEY_LOCAL_MACHINE', run:&lt;br&gt;EXEC master..xp_regdeletekey @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Test'&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_regdeletevalue&lt;br&gt;&lt;/strong&gt;This extended stored procedure will delete a particular value for a key in the registry. You should use it very carefully. The syntax is:&lt;br&gt;EXECUTE xp_regdeletevalue [@rootkey=]'rootkey', [@key=]'key', [@value_name=]'value_name'&lt;br&gt;For example, to delete the value 'TestValue' for the key 'SOFTWARE\Test' from 'HKEY_LOCAL_MACHINE', run:&lt;br&gt;EXEC master..xp_regdeletevalue @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Test', @value_name='TestValue'&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_regread&lt;/strong&gt;&lt;br&gt;This extended stored procedure is used to read from the registry. The syntax is:&lt;br&gt;EXECUTE xp_regread [@rootkey=]'rootkey', [@key=]'key' [, [@value_name=]'value_name'] [, [@value=]@value OUTPUT] &lt;br&gt;For example, to read into the variable @test from the value 'TestValue' from the key 'SOFTWARE\Test' from the 'HKEY_LOCAL_MACHINE', run:&lt;br&gt;DECLARE @test varchar(20)EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Test', @value_name='TestValue', @value=@test OUTPUTSELECT @test&lt;/font&gt;  &lt;li&gt;&lt;font face="tahom"&gt;&lt;strong&gt;xp_regwrite&lt;br&gt;&lt;/strong&gt;This extended stored procedure is used to write to the registry. The syntax is:&lt;br&gt;EXECUTE xp_regwrite [@rootkey=]'rootkey', [@key=]'key', [@value_name=]'value_name', [@type=]'type', [@value=]'value'&lt;br&gt;For example, to write the variable 'Test' to the 'TestValue' value, key 'SOFTWARE\Test', 'HKEY_LOCAL_MACHINE', run:&lt;br&gt;EXEC master..xp_regwrite @rootkey='HKEY_LOCAL_MACHINE', @key='SOFTWARE\Test', @value_name='TestValue', @type='REG_SZ', @value='Test'&lt;br&gt;Keep in mind that these undocumented extended stored procedures are not officially supported by Microsoft, and that they may not be found in the next version of SQL Server.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1140548" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sathishcg/archive/tags/SQL+Server/default.aspx">SQL Server</category></item></channel></rss>