Upgrade from Sitefinity CMS 7.3 and below

PREREQUISITES: Before you proceed with the upgrade, make sure you have complied with the prerequisites.
  • You have downloaded your production website and database and have backed them up.
  • You have downloaded from your Sitefinity CMS account the Project Manager of Sitefinity CMS 8.0 version and placed it in a new folder named to clearly indicate the particular Sitefinity CMS version (so you can easily distinguish it).
  • Remove the Migrations module from your ~/App_Data/Sitefinity/Configuration/SystemConfig.Config file, by deleting the line <add version="6.3.5016.0" name="Migration" />.

To upgrade your 4.x and above project, perform the following:

  1. Update Sitefinity CMS assemblies and the references to them
    1. Update your assemblies, files, and folder structure.
      Open the newly downloaded Sitefinity CMS Project Manager, select the project that you want to upgrade and click Actions » Upgrade button.
      • The upgrade automatically updates the assemblies in your project's bin folder.
      • The upgrade automatically adds new files and folders to your project.
      • The upgrade automatically merges settings from the new version’s web.config file to your existing web.config file.
        Verify that all your web.config settings are in place by comparing the web.config file from your backup.

        IMPORTANT: You can use automatic web.config merge, if your current project is Sitefinity CMS version 5.4 and above.
        If your current project is Sitefinity CMS version 4.0 and above, you can still use automatic web.config merge, but you must get the Sitefinity CMS Internal hotfix build 7.1.5201 or any later version.
        For all other cases, Sitefinity CMS Project Manager automatically updates the assemblies and adds new files and folders, but you must manually merge the web.config changes.

    2. Update the references to the assemblies 
      Compare the contents of the following folders:
      • The bin folder of the _EmptyProject of your current Sitefinity CMS version.
      • The bin folder of the _EmptyProject of the Sitefinity CMS version that you want to upgrade to.
      • You need to compare differences in the .dll files only – which .dll files are removed and which are added to the bin folder of the version that you want to upgrade to. You can use any comparison tool, such as WinMerge.

        NOTE: If the DLL files do not match during the comparison, you can replace them manually from the _EmptyProject's bin folder .

      • Open your project in Visual studio, remove references to the removed .dll files and add references to the added .dll files.

        If your project is part of a larger solution where you have custom projects that reference Sitefinity CMS assemblies, check the references to those assemblies in your project and make sure that they are referencing the newer assemblies.

      • NOTE: The Sitefinity CMS Project Manager does not remove any .dll files - it only adds the new ones. Thus, if you have referenced the old .dll files anywhere in your solution, the upgrade will not break your customizations. If you want to remove the .dll files, you must do this this manually after making sure the .dll files are not used anywhere in your project.

      • NOTE: If you do not use Sitefinity CMS Project Manager application to upgrade your project, you must replace the assemblies manually, you must manually merge the web.config files, and add all the new files and folders from a new Empty Project. For each version, Sitefinity CMS Project Manager automatically creates the _EmptyProject folder once you create a new project. You can use DiffMerge or any other software that allows you to differentiate and merge the web.config changes, new files and folder structure.

  2. Run the upgraded project and verify it
    1. Build your solution and restart your Sitefinity CMS website.

      IMPORTANT: You must not manually change the Sitefinity CMS version numbers stored in your configuration files. This is handled automatically by the upgrade process that starts with the first run of the website.

    2. Run the project and check it for errors.
      Check for errors the UpgradeTrace.log and Error.log files, located in the ~\App_Data\Sitefinity\Logs folder. If needed, contact the Sitefinity CMS support team with the attached UpgradeTrace.log and Error.log files and specify the versions that you upgrade from and to.

      NOTEThe first run of the upgraded website can be time-consuming, because Sitefinity CMS automatically performs incremental database upgrades from the database schemes used in the previous version to the one used in the new version. Information about the Sitefinity CMS version is stored both in the database and in the configuration files. At any time, the configuration files must match your database scheme.

      IMPORTANT: Sitefinity CMS 7.3 comes with granular permissions for dynamic content items. The upgrade of the permissions is done asynchronously - after you have upgraded and ran your website, the permissions upgrade starts. During this time, you may notice that Sitefinity CMS uses CPU resources. If the permissions upgrade is successful, you will see PASSED : Upgrading dynamic content permissions message in the UpgradeTrace.log file.

  3. Set the target framework version of your project to .Net Framework 4.7.2.
    Perform the following:
    1. Open your project in Visual Studio.
    2. In the context menu of SitefinityWebApp, click Properties.
    3. On Application tab, in Target framework dropdown box, select .NET Framework 4.7.2
    4. Save the changes to your project
  4. Reinstall all packages:
    1. In Visual Studio, navigate to Tools » Library Package Manager » Package Manager Console.
    2. Execute the following command: Update-Package -Reinstall

      NOTE: You do this, because the changing the target framework requires re-installation of all packages. After you have removed all Sitefinity CMS related packages in Step 2, you perform this step to re-install all other packages that you may have installed on your system.

  5. From the bin folder of the project, delete Telerik.Sitefinity.UI.MVC.dll.
  6. Open folder Properties, located in your project's folder and edit the AssemblyInfo.cs file.
    Add the following assemblies:
    • [assembly: Telerik.Sitefinity.Frontend.Mvc.Infrastructure.Controllers.Attributes.ControllerContainer]
    • [assembly: Telerik.Sitefinity.Frontend.Mvc.Infrastructure.Controllers.Attributes.ResourcePackage]
  7. In the Package Manager Console install Telerik.Sitefinity.All 12.2.7200.0 using the following command:
     Install-Package Telerik.Sitefinity.All –Version 12.2.7200.0 

    NOTE: The BCL dependency used by Sitefinity CMS to integrate Azure search in previous versions is also removed. As a result, you can safely remove the Tools folder under the root of your SitefinityWebApp project. 

  8. In the Package Manager Console, uninstall the following packages and delete the respective assemblies from the project's bin folder:
    • Telerik.Sitefinity.Thunder
    • Telerik.Sitefinity.DropboxLibraries
    • Telerik.Sitefinity.MobileAppBuilder
    • Telerik.Sitefinity.DAM
    • Telerik.Sitefinity.EverliveConnector
  9. Build your solution.
  10. Deploy your upgraded project
    Depending on the type of upgrade you want to make, perform one of the following:
    • Replace your live website with the upgraded one.
      If you want to replace your production website and database with the locally upgraded files, package your upgraded website and its database and deploy them on your production environment. For more information, see Deployment.
    • Upload the upgraded project without the database.
      Restart the website. This triggers the upgrade process of your production database.
      For more information, see Upgrade projects in Continuous delivery.
      If your project is deployed on Windows Azure, see Upgrade projects running on Windows Azure.

Was this article helpful?