· Backup the database from 2010 and copy it over to 2013 SQL environment.
· Create a new web application on 2013 and delete the default content database created.
· Restore the backed up database to 2013 SQL instance.
· Import the 2010 solution to VS 2012 or 2013 and deploy it to 2013 environment as a farm solution. Before deploying to 2013 environment, ensure that you change the template ID from 10000 to 11111[ You can take any other number greater than 10000]
· Copy the original webtemp*.xml and the site definition folder to the corresponding locations on the 2013 server but in 14 hive. [Note: this webtemp*.xml will have the template ID as 10000]
· Then create a UDF with a definition as shown in sample below. In relation to your custom site definition, the highlighted statements below are the ones that are important.
· Save this UDF as “WssUpgrade_SiteDefinitionProject1.xml” to the following path C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\CONFIG\UPGRADE\WSSUpgrade_CustomSideDef.xml.
· Issue a Test-SPContentDatabase command through SharePoint 2013 Management Shell as shown below and ensure the output is what you see below.
· Then issue the Mount-SPContentDatabase command as shown below:
· This should upgrade the content database and attach it to the empty web application.
· Post this when you browse to the site, you will see it’s in 2010 mode as shown in below.
· But after you click the “Start now” link in the light red status bar above or navigate to Site Actions àSite Settings àSite collection upgrade and click on Upgrade this Site Collection and then click the “I’m ready” button, the site collection should be upgrade to 2013 look and feel.
· For the sites upgraded the Template ID would continue to be 10000, but the site that are going to be created with this custom site definition will have the new template id.