Tuesday, 13 November 2012

Upgrading an existing instance (Sitecore.NET 6.5.0 (rev. 111230)) to Sitecore to 6.6 (120918 => 121015)


So I have done this a couple of time already but it always failed. After talking to Sitecore we realized that our existing Sitecore instance had file paths that were too long so the 6.6 installer was failing because of the 256 char. file path limit in windows:

Maximum Path Length Limitation

In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path isMAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, name components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is "D:\some 256-character path string" where "" represents the invisible terminating null character for the current system codepage. (The characters < > are used here for visual clarity and cannot be part of a valid path string.)
So after talking to Sitecore they suggested moving our Sitecore instance to something shorter like:
They also suggested giving full access to IIS_IUSER and the account the app pool runs under to the existing Sitecore instance website folder. Done!
Also Note: I dont have DMS installed on the existing Sitecore instance. I will install this after I upgrade.
First thing I am going to do is backup my Sitecore databases: Core, Master and web. Probably don't need to care about web but I did it anyway. Done.
Note: I will check that my current Sitecore instance runs correctly before I upgrade. Done.
Right so now I am ready to run the upgrade installer.
I choose the package to upgrade from 6.5 to 6.6:
Sitecore 6.6.0 rev. 120918_fromv650rev110602.update
Then I click "View package information" and then "Analyse and install the package".
Ill analyse it first to see if there are any obvious issues before installation. It says it is running 5448 action.
The analysis of the results says:
730 potential problems were found, including 709 collisions and 21 warnings.
I am not sure what I can do with this information as, even when I "filter by message types" there is no obvious information on errors etc.
Next i'll click "Install the package" and see what happens. Note that, as I mentioned, I have done this a few times and it failed but hopefully with the new shorter path it will work.
Again, it says it is processing 5448 actions and in the "More information" section I can see it installing Sitecore bits and pieces. (go get a coffee as it looks like it is going to take an hour!)

Installer stopped on 119 actions and SQL processor was at 1.5GB so I rebooted my machine.
I ran the installer again and it seems to be running correctly now but again it failed at the end saying it could not find Lucene.NET.

I checked a fresh version of 6.6 for Lucene and all the version numbers are identical to my version but the file sizes are different so i'll copy the version from 6.6 into mine and try upgrading again ... ppphhhhht.

Ok, contacting Sitecore support again as it is failing on:

System.IO.FileLoadException: Could not load file or assembly 'Lucene.Net, Version=, Culture=neutral, PublicKeyToken=null' or one of its dependencies

Ill post more when they reply and I try again.

Ok so I got some feedback from the Guys at Sitecore. We were using a Shared source crawler for our indexes. for now I have disabled /App_Config/Include/Indexing.config to /App_Config/Include/Indexing.config.disabled.

I ran the installer again and it worked, although I have 2500 warnings but it looks like it was just alerting me that it was overwriting files.
Right, next step run the upgrade script on master, web and core databases: CMS660_AfterInstall.sql. This worked. It seems to just create and update  the SQL tables ArchivedVersions and ArchivedFields.

After this I went through and did all the config changes required for 120918 and 121015 mentioned in the SDN posts above.

Note: Read the instructions for each config change very carefully, one mistake and you will have a world of pain.

So this all went fine. I did notice that I had a couple of config sections missing when comparing to the Sitecore original files on SDN so I amended where required. For example, step 17 here:

In the section, add three new settings related to the Page Preview feature, after the "PageStateStore" setting:
I was missing PageStateStore so I added it in. 

After that I needed to make my site run with MVC. As john West states, the latest Sitecore 6.6 installer (exe) enables MVC by default:

But as I was doing an upgrade and not using the EXE I need to do some stuff with config files. I followed the instructions here:
At point 1.1.3 How to install Sitecore MVC.

Right, all done. 

The next step is to make sure it all works. I followed Sitecore John West's post here:
Scroll down to the little heading: "To confirm MVC is working:" and follow his instructions.

Right, now I can get back to actually writing some code.

More to come on Sitecore with MVC in other posts.