web-deploymentshared-hostingsitefinity-10

Sitefinity starts upgrade after deploying to production server


We're in the process of moving our existing Sitefinity 10.x site to a new hosting provider, but running into a series of issues.

First, we backed up and restore the site from the current host to our local dev environment and got it up and running within about 10 minutes - no issues.

We again backed up everything up and then deployed to the new hosting provider in a shared hosting environment following these instructions: https://www.progress.com/documentation/sitefinity-cms/deploy-projects-to-shared-hosting

The result is that Sitefinity somehow seems to think that it needs to install/upgrade and ends up in a loop of Exceptions being thrown creating really large files in the Logs directory in App_Data including Error and UpgradeTrace log files of sizes between 6 and 20Mb.

What am I missing here? This is normally fairly easy to do.

Here's a small sample of what the System Initialization process is outputting.

    HandlingInstanceID: a7548528-e50b-4c45-ac31-14997da528e2 An exception of type 'System.Exception' occurred and was caught.   
            ----------------------------------------------------------------   
            11/05/2020 08:30:45 Type : System.Exception, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message :   
            FAILED : SiteInitializer : Upgrade to 1106 (Upgrade backend pages accessible to all in Backend role) -   
Exception has been thrown by the target of an invocation.   
Source :   
Help link :   
Data : System.Collections.ListDictionaryInternal   
            TargetSite : HResult : -2146233088 Stack Trace : The stack trace is unavailable.   
Additional Info:   
MachineName : --hidden-- TimeStamp : 2020/11/05 6:30:45 AM   
FullName : Telerik.Sitefinity.Utilities, Version=10.0.6400.0, Culture=neutral, PublicKeyToken=b28c218413bdf563   
AppDomainName : /LM/W3SVC/556/ROOT-1-132490314385720168   
ThreadIdentity : Anonymous WindowsIdentity : --hidden\hidden--   
Requested URL : http://127.0.0.1/   
    
    Inner Exception --------------- 
      Type :  System.Reflection.TargetInvocationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089   
      Message : Exception has been thrown by the target of an invocation.  
      Source : mscorlib Help link :   
      Data : System.Collections.ListDictionaryInternal  
      TargetSite : System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)  
      HResult : -2146232828    
      Stack Trace :  
        at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)   
        at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)   
        at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Telerik.Sitefinity.Abstractions.UpgradeMethod.Execute(Object upgradeContext)   
        at Telerik.Sitefinity.Abstractions.SiteInitializer.Upgrade[TUpgradeInfoAttribute](Object instance, Int32 upgradeFrom, Object upgradeContext)   
    Inner Exception --------------- Type :    
    Telerik.Sitefinity.SitefinityExceptions.ItemNotFoundException, Telerik.Sitefinity, Version=10.0.6400.0, Culture=neutral, PublicKeyToken=b28c218413bdf563 Message :   
            
            You are trying to access item that no longer exists. The most probable reason is that it has been deleted by another user.   
            
            Source : Unity_ILEmit_DynamicClasses Help link : Data : System.Collections.ListDictionaryInternal  
            TargetSite : Telerik.Sitefinity.Pages.Model.PageNode GetPageNode(System.Guid) HResult : -2146233088 Stack Trace :   
    at DynamicModule.ns.Wrapped_OpenAccessPageProvider_325400689b95401abccc69f6d0957c5f.GetPageNode(Guid id)   
    at Telerik.Sitefinity.Modules.Pages.PageManager.GetPageNode(Guid id)   
    at Telerik.Sitefinity.Abstractions.SiteInitializer.UpgradeTo1106()
                Expand  08:57:24
                FAILED : SiteInitializer : Upgrade to 1106 (Upgrade backend pages accessible to all in Backend role) - Exception has been thrown by the target of an invocation.
                08:57:24
                Upgrading Progress Sitefinity CMS from build version 1 to 6400.
                08:57:24
                System is initializing...
                08:57:24

Solution

  • Actually it turns out to have been rather simple.

    1. I added <clear /> to the data config file to remove the machine.config's configuration for DB's. This is where I realised something was going wrong with the DB restore.
    2. Using SolidCP on the hosting providers site I thought the DB restore was successful, but it turns out it was silently failing.
    3. The ISP did a manual restore which was successful
    4. Finally we added <clear /> to the SiteMapProvider setup because the ISP also has MySql providers installed which causes issues with Sitefinity if you don't clear the machine.config's configuration for SiteMaps.

    After that everything worked as expected.