Error upgrading kentico from version 7.0.52 to 8.0.22

Jaroslav Šebok asked on August 16, 2016 15:40

Hello, I've encountered a problem while upgrading kentico using the upgrade wizard.

Here's the log output with stacktrace:

[2016-08-16 15:31:25] Initializing upgrade... [2016-08-16 15:31:30] Changing application structure... [2016-08-16 15:31:30] Retrieving the COM class factory for component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).Message: Retrieving the COM class factory for component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)). Stack Trace: at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType) at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType) at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props, Boolean bNewObj) at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) at System.Activator.CreateInstanceT at Microsoft.Web.Administration.ConfigurationManager.CreateAdminManager[TClass,TInterface](WebConfigurationMap webConfigMap, Boolean isAdminConfig) at Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(WebConfigurationMap configMap, String configPathToEdit, Boolean isAdminConfig) at Microsoft.Web.Administration.ConfigurationManager.GetConfiguration(String rawConfigurationPath, String cacheKey, Boolean isAdminConfig) at Microsoft.Web.Administration.ServerManager.get_SitesSection() at Microsoft.Web.Administration.ServerManager.get_Sites() at WinAppFoundation.IISManager.UpdateVirtualDirectory(String oldProjectPath, String newProjectPath) at Hotfix.HotfixInstaller.TransformSolutionStructure() at Hotfix.HotfixInstaller.ApplyUpgrade(HotFixItemsEnum items, BackgroundWorker worker, DoWorkEventArgs e) at Hotfix.StepLog.BackgroundWorker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

Correct Answer

Jaroslav Šebok answered on August 23, 2016 14:54

So I solved this issue by performing a manual upgrade of kentico. The error was due to a big amount of custom code I needed to manually fix after the installation was completed.

0 votesVote for this answer Unmark Correct answer

Recent Answers


Trevor Fayas answered on August 16, 2016 16:22

First step i usually take is make sure that there are no code errors. Any custom classes or code in the App_Code you should analyze to make sure it matches how 8.0 does it's custom classes.

Next step is to take a look at a fresh install's web.config, sometimes you'll see different elements that are missing / not there, that may be another good step to analyze.

From the error though i bet you have some custom module or code that isn't up to snuff with 8.

0 votesVote for this answer Mark as a Correct answer

Jaroslav Šebok answered on August 17, 2016 10:46

I ran the code upgrade tool and it left some issues unresolved most of them are deprecated classes for instance:

Class CMS.FormControls.CMSBaseForm was removed. You can use class CMS.FormControls.AbstractBasicForm instead.

However in my custom web part I use Bizform which as I can see in CMS.FormControls.dll, v7.0.4997.7757 inherits from CMSBaseForm. I didn't find AbstractBasicForm in CMS.Formcontrols namespace, though, I only found BasicForm.

I think there are BizForms in Kentico 8 too so that shouldn't be a problem. How can I solve issues like this? Or do I need to solve them before upgrade?

This one looks similar:

Class CMS.UIControls.UniGridPager was removed. You can use class UIPager instead.

Or this one in \CMSFormControls\Basic\UploadControlLimited.ascx.cs:

Class method System.String CMS.FormControls.BasicForm.GetFileNameForUploader(System.String) was removed. The type or member is no longer supported. Please contact Kentico support if you need to find a replacement.
0 votesVote for this answer Mark as a Correct answer

Juraj Ondrus answered on August 17, 2016 12:07

Hi,

At what upgrade step are you getting this error? I am referring to the initial post. Based on the attached error log, I believe this is a general .Net error. Based on other users' experiences, the error can be explained in the following articles:

stackoverflow.com/questions/17985653/class-not-registered-error stackoverflow.com/questions/1036856/retrieving-the-com-class-factory-for-component-with-clsid-xxxx-failed-due-to-t

Regarding potential resolutions to your Kentico installation, please ensure that your environment meets the minimum system requirements for Kentico 8 found in the documentation below:

docs.kentico.com/display/K8/Server+and+hosting+requirements

It is important to note that Kentico 8 requires .Net framework 4.0 or 4.5. If meeting the minimum requirements does not seem to be the issue, please try manually upgrading the site by following the 7.0 to 8.0 directions in the documentation below:

https://docs.kentico.com/display/K8/Upgrading+Kentico+7+to+8

0 votesVote for this answer Mark as a Correct answer

   Please, sign in to be able to submit a new answer.