---
title: Upgrading Xperience manually
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

> **Note:** **Note**: We strongly recommend using the automatic upgrade described in [Upgrading to Xperience 13](https://docs.kentico.com/13/installation/upgrading-to-xperience-13.md).
>
> If you already have Xperience 13 and wish to apply a **Refresh** release, do NOT follow the upgrade process described on this page. You only need to apply the **appropriate hotfix version** to your project. See the [Hotfix instructions](https://docs.kentico.com/13/installation/hotfix-instructions-xperience-13.md) to learn how to install Refreshes via the hotfix.

If necessary, you can perform the upgrade from _Kentico 12 Service Pack_ to _Xperience 13_ manually.

## Installing the upgrade procedure

1. Download the [Xperience 13 upgrade](https://download.kentico.com/CMSUpgrades/Upgrade/Upgrade_12_0_13_0.exe).
2. Run **Upgrade\_12\_0\_13\_0.exe**.
3. Install the upgrade procedure (the installer places the upgrade into the _C:\Program Files\Kentico\13.0\Upgrade120\_130_ folder by default).

## Preparing your project for the upgrade

1. Set up a local copy of your Kentico 12 web project.
2. Go through the required [Steps before the upgrade](https://docs.kentico.com/13/installation/upgrading-to-xperience-13.md#steps-before-you-start-the-upgrade).

## Creating the project files

The recommended way to create an upgraded project is to start with a new clean installation of Xperience 13 and then transfer custom file content from your original project.

1. Download the [Xperience 13 installer](https://download.kentico.com/Xperience_13_0.exe).
2. Install a new Xperience project (use the **Custom installation** option in the installer).
   - Do not install a database (clear the **Installation with database** option on the installer's **Database** tab).
3. Transfer files and customizations from your Kentico 12 administration project into the new Xperience 13 project:

   - Copy all files that were added into your Kentico 12 project (including media files, custom pages and controls, etc.).

     > **Tip:** **Tip**: We recommend using a differencing or merging tool to compare the project folders.
   - If you have customized any of the default files, you need to compare the new and old file versions and manually transfer the customizations.
4. Open the new Xperience 13 project in Visual Studio:

   - If your original solution contained custom projects, add these projects.
     - Add references from the Xperience _CMSApp_ web project to your custom projects as required.
     - Update all Xperience library references from custom projects to use the libraries of the new project.
   - Install any custom NuGet packages that were present in your Kentico 12 web project.
5. Open the upgrade installation directory (_C:\Program Files\Kentico\13.0\Upgrade120\_130_ by default), and copy the **CMS\CMS\CMSSiteUtils\Import\Upgrade\_120\_130.zip** file into the **CMS\CMSSiteUtils\Import** folder of the new Xperience 13 project.

## Upgrading the Web.config

Transfer all required configuration from your Kentico 12 project's _web.config_ file into the _web.config_ of the new Xperience 13 project:

1. Copy the **connection string** (the entire __ section) to connect the upgraded project to your database.
2. Transfer all keys from the __ section (including the values of default keys such as _CMSApplicationGuid_ and _CMSHashStringSalt)._
3. Manually transfer any other custom configuration elements.

## Upgrading the database

**Important**: Before you start the database upgrade, create a **backup** of your database.

1. Launch **Microsoft SQL Server Management Studio**.
2. Connect to the database that you wish to upgrade.
3. Open the upgrade installation directory (_C:\Program Files\Kentico\13.0\Upgrade120\_130_ by default) and expand the **SQL** folder:
   - If you have a standard database, run the _**upgrade.sql**_ script.
   - If your project uses a [separated on-line marketing database](https://docs.kentico.com/13/on-line-marketing-features/configuring-and-customizing-your-on-line-marketing-features/separating-the-contact-management-database.md), expand the **Separation** subfolder and run the scripts _in the following order_:
     1. _**separated.sql**_ (against the separated on-line marketing database)
     2. _**default.sql**_ (against your main database)

If you encounter any errors, please send them to [Kentico support](mailto:support@kentico.com) (include the error log in the message).

## Finishing the upgrade

You also need to update the Xperience code used by your live site application. See [Upgrading MVC projects](https://docs.kentico.com/13/installation/upgrading-to-xperience-13.md#upgrading-mvc-projects) in the main upgrade instructions.

Continue with the [Steps after the upgrade](https://docs.kentico.com/13/installation/upgrading-to-xperience-13.md#steps-after-performing-the-upgrade).
