ASP.NET, CMS

Upgrade Guide from Sitecore 9.0.2 to Sitecore 9.1 via Update Center

Introduction

Sitecore recently released version 9.1 to the public and we’ve already had requests to help clients update their existing sites.  Luckily, if these projects are on Sitecore 9 it’s possible to use Sitecore’s Update Center to make this effort much easier.

We have already migrated one of our projects running on Sitecore 9.0.2 to Sitecore 9.1 and wanted to share our experience.

Here is how we upgraded our project from 9.0.2 to Sitecore 9.1.

Prerequisites

First we needed to make sure that our pre-requisites were in place. If not, you can download them and get them running. Pay special attention to the versions of things like SOLR, since they do matter.

Assets Download Link
.NET Framework 4.7
.NET Framework 4.7.1 Developer Pack Link
.NET Framework 4.7.2 Developer Pack Link
.NET Core 2.1.3 Windows Hosting module Link
SOLR 7.2.1 Link
Sitecore XP 9.1 Link

Prerequisite Files

First we need to create a folder to hold your work. We’re going to use “D:\Upgrade” in our example.

Then we need to get the Sitecore files from this Link at and put them in our folder.

  • Download “Sitecore 9.1.0 rev. 001564 (WDP XP0 packages).zip” from hyperlink “Packages for XP Single” under section “Download options for On Premises deployment“.
  • Download “Configuration files for upgrade“, “Sitecore Update Installation Wizard” from section “Upgrade options“.
  • Download “Sitecore Identity” from the section “Modules” section.

 

Install SIF 2.0.0

Once we’ve got our files we now need to setup the Sitecore Install Framework (SIF). SIF is an incredibly useful tool for installing all of the moving pieces of a modern Sitecore installation and allows us to capture “infrastructure as code” that can be source controlled, easily shared, and reused.

First, open windows Powershell in admin mode then register the  SitecoreGallery Powershell repository as a source to install Powershell modules from. This is done using the following commands.

If your machine already has a previous version of SIF (like SitecoreInstallFramework 1.2.1) we have to install SitecoreInstallFramework 2.0.0 for 9.1 using the following command:

If you’re not sure of which versions you have installed, you can get a list of all available SitecoreInstallFramework versions using this command.

When you’re done you can close PowerShell.

Install Sitecore Identity Server

One of the new features of Sitecore 9.1 is the separation of user authentication out into a separate website following the Sitecore HOST paradigm. This is done using SIF to setup the Identity Server site.

Unzip “Sitecore 9.1.0 rev. 001564 (WDP XP0 packages).zip” in our “D:\Upgrade” folder.

  • Open “D:\Upgrade\Sitecore 9.1.0 rev. 001564 (WDP XP0 packages)” and unzip “XP0 Configuration files 9.1.0 rev. 001564.zip” at same location.Create a folder to hold our identity server resource files, like  “C:\resourcefilesIdentity”.Copy “createcert.json”, “IdentityServer.json” from “D:\Upgrade\Sitecore 9.1.0 rev. 001564 (WDP XP0 packages)\XP0 Configuration files 9.1.0 rev. 001564” to “C:\resourcefilesIdentity”.Copy your Sitecore license into the same folder “C:\resourcefilesIdentity”.Either download Sitecore Identity zip file or copy “Sitecore.IdentityServer 2.0.0 rev. 00157 (OnPrem)_identityserver.scwdp.zip” from “D:\Upgrade\Sitecore 9.1.0 rev. 001564 (WDP XP0 packages)” in folder “C:\resourcefilesIdentity”.Create a file “install.ps1” in folder “C:\resourcefilesIdentity” and paste the code below into it. You’ll need to update the highlighted statements with values for your environment.
    • The ClientSecret variable is what phrase is used to generate security keys.
    • SqlServer is the URI for your SQL Server instance. This can be a path, URL, or “.” if it’s running on the local machine.
    • SqlAdminUser and SqlAdminPassword are credentials for the SQL Server user that will be used for connecting to the database.
    • PSScriptRoot is the filesystem location where you have your resource files.
    • Package is the file name of the WDP package zip file that we have copied into the folder.

 

 

Now, take a second to make sure everything is looking good. Make sure you have the following files in “C:\resourcefilesIdentity” folder.

  • Open PowerShell in admin mode again and change your directory to “C:\resourcefilesIdentity”. Run “install.ps1”.

You should see the following screen after successful execution of the script.

 When Identity Server installation is completed you’ll need to update the connection strings.

Open the “<Webroot>\Config\production\Sitecore.IdentityServer.Host.xml” file and modify the following.

  • Connection string should point to the site we’re going to upgrade’s Core database,
  • Set the PasswordRecoveryUrl and the AllowedCorsOriginsGroup1 settings to a valid URL for a Sitecore instance as

 

Preparing for the Upgrade

Now that the identity server site is setup it’s time to do the actual upgrade.

Stop Two Windows Services

You must stop these Windows services before getting started:

  • The Sitecore XConnect Search Indexer service.
  • The Sitecore Marketing Automation Engine service.

Stop All Content Tests

Before you upgrade your Sitecore installation, you must stop any content tests that are currently running. This prevents the start date of the tests from being overwritten with the upgrade date.

Upgrade the Databases

To upgrade the databases:

  1. Run the SXP_processing_tasks.sql script for the Processing.tasks database.
  2. Run the SXP_reporting.sql script for the Reporting database.
  3. Run the SXP_exm_master_dispatchqueue.sql script for the EXM.Master database.

 

Disable Any Installed Sitecore Modules

You must disable any Sitecore modules that you use.

For more information about disabling the modules, see the section Disable the Sitecore Modules.

Disable custom dlls

The new version of Sitecore might contain some breaking changes. To separate the upgrade of Sitecore from the upgrade of any customizations you have made, move your custom dlls and configuration files out of sitecore \bin and \app_config folders. When the upgrade is completed, you can adapt your code according to a list of breaking changes and move the files back.

Add the Security Connection String

In Sitecore XP 9.1, you can move security from the Core database to another database.

Before you upgrade to Sitecore XP 9.1, you must add the security connection string.

To add the security connection string, in the \App_Config folder, in the ConnectionStrings.config file, add for example:

Using the Update Center to Upgrade to Sitecore XP 9.1

Before you can use the Update Center to install the upgrade package, you must update the Update installation wizard.

Update the Update Installation Wizard

On the Sitecore Launchpad, click Control Panel, and in the Administration section, click Install a package.

Install the “D:\Upgrade\Sitecore Update Installation Wizard 4.0.0 rev. 181002.zip” package.

Install the Upgrade Package

You can now use the Update Center to install the upgrade package.

To install the upgrade package:

  1. Log in to the LaunchPad and open the Update Center.
  2. Select the Sitecore XP 9.1 upgrade package and then click Download and Install

 

 

  1. When the package is downloaded, in the Ready to install dialog click Install:

 

In Advanced installation settings section, you can opt what you need to update. By default, all options are checked.

  1. Wait until the package is installed.

 

  1. During the upgrade, Sitecore runs in Update mode and automatically disables xDB. If you used xDB before the upgrade, it is automatically enabled when you click Exit update mode.

 

  1. When the upgrade package has been installed, just check HELIX folder are now available and in license details Sitecore 9.1.0 and .NET framework 4.7.1 should be displayed as below.

You can compare with 9.0.2 instance with .NET framework 4.0.3 here as

If you are reading this line, congratulations! You have successfully upgraded Sitecore instance 9.0.2 to 9.1 via Update Center.

About The Author