smithsson68@gmail.com
Apr 11, 2012
visibility 13135
star star star star star
(8 votes)

Problems with XForms when upgrading to CMS 6 R2

It seems that many people have had problems when upgrading an EPiServer CMS site to 6 R2 with the last part of the upgrade script.

What this tries to do is read all the XForm definitions from the database, perform a html decode on the form name, and then save the definition back to the database. Why this has to be done is not relevant to this post.

What is relevant is that it often doesn’t work for various reasons. This part of the script is run in a separate transaction after the main upgrade transaction has completed. The reason for this is that it has to run in a separate application domain in the context of the website.

If your site doesn’t use XForms or if you know that there aren’t any forms that have names that required html encoding then you can just ignore this error. As mentioned above, the main upgrade has been committed and your site should be ready to go.

If however you do need to run this part of the script and it keeps failing then there is a simple workaround.

Here you will find an ASPX file which contains the same code as the script executes. Place it in your site, execute it (i.e. browse to it’s Url) and it will do the business. When it’s finished it will tell you how many XForms it’s upgraded. If for some reason it should fail or get interrupted, it is safe to run again as it will only upgrade those XForms that need it.

When all is done you can just remove the ASPX from the site.

Voilà

Apr 11, 2012

Comments

Apr 11, 2012 04:02 PM

Great stuff Paul, now we can upgrade databases without having to use EPiServer Deployment Centre - if you know where the SQL upgrade scripts are of course ;)

Masoud Memariani
Masoud Memariani Dec 9, 2013 12:23 PM

Hello Paul,

The link you provided for your script does not work. Can you please update the link?

Thank you!

Jun 13, 2014 11:38 AM

Please update the link

Jun 17, 2014 02:50 PM

Hi
Could you please update the link?

thanks!

//Pawel

Nitin Walawalkar
Nitin Walawalkar Jul 11, 2014 01:46 PM

I am unable to download the aspx page from the link

error Please login to comment.
Latest blogs
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |