--- title: Deployment on the content delivery servers slug: '2264' canonical_url: https://docs.coveo.com/en/2264/ collection: coveo-for-sitecore-v5 source_format: adoc --- # Deployment on the content delivery servers The instructions below presume that you have a setup similar to the one in the **Setting up the Sitecore Infrastructure** article (see [Sitecore infrastructure setup](https://docs.coveo.com/en/3156#sitecore-infrastructure-setup)). If your environment is different, read the steps carefully since you'll need to tailor some of them to your environment. ## Step 1: Copying the package to CDs The Coveo for Sitecore installation package contains several files that are added to the Sitecore website directory. . Locate the installation package you used for the content manager (see [Releases and downloads](https://docs.coveo.com/en/2274/)). . Unzip the `Coveo for Sitecore .zip`. . Open the `package.zip` file. . Copy the contents of the `files` folder to the `` folder on each CD. The `files` folder mimics the folder structure found in the Sitecore website. > **Note** > > For Azure Web App deployments, consider using a tool like the [Kudo console](https://github.com/projectkudu/kudu/wiki/Kudu-console) for file and folder manipulations (for example, browsing, uploading/downloading, copying, editing, renaming, deleting). ### Copying Coveo for Sitecore SXA files to CDs If you're using SXA, copy the Coveo for Sitecore SXA package files to your CDs the same way you did above. . Locate the installation package you used for the content manager (see [Releases and downloads](https://docs.coveo.com/en/2274/)). . Unzip the appropriate `Coveo for Sitecore SXA .zip` file, based on the version of Sitecore you're using. . Open the `package.zip` file. . Copy the contents of the `files` folder to the `` folder on each CD. The `files` folder mimics the folder structure found in the Sitecore website. ## Step 2: Ensuring access to the encryption keys [.version.c4sc.c4sc-new.5-0-387-10.May-17&-2019] [Coveo for Sitecore 5.0.387.10](https://docs.coveo.com/en/2875#release-notes) Coveo for Sitecore stores the encryption keys in the `Properties` table of the `core` database. These keys must be the same on all the Sitecore instances to be able to decrypt the encrypted configuration elements. If your CMs and CDs don't share the same `core` database, make sure you have a database replication strategy in place. [.version.c4sc.c4sc-new.5-0-387-10.May-17&-2019] [Coveo for Sitecore 5.0.387.10](https://docs.coveo.com/en/2875#release-notes) Coveo for Sitecore stores the encryption keys in the `web` database. These encryption keys must be the same on all the Sitecore instances to be able to decrypt the encrypted configuration elements. If your CMs and CDs don't share the same `core`/`web` database, make sure you have a database replication strategy in place. ## Step 3: Copying the configuration files Since the index is shared between all the Sitecore instances, you must configure all the additional Sitecore instances (CMs and CDs) to use the same configuration as the `CM1` Sitecore instance. > **Note** > > Copying the `CM1` configuration files folders to your CDs will automatically disable indexing on your CDs. > Whether you have a single CM and are copying the out-of-the-box configuration files or have multiple CMs and have [patched the out-of-the-box configuration](https://docs.coveo.com/en/2265#step-3-disable-indexing-on-additional-cms-and-cds), your `CM1` configuration disables indexing on the `ContentDelivery` role. . In each additional Sitecore instance, delete the `Coveo` configuration files folders located in the `\App_Config\Include\` and `\App_Config\Modules\` folders. . Copy the configuration files folders of the `CM1` instance to each additional Sitecore instance. ** Copy the `Coveo` base configuration files folder located in the `\App_Config\Modules\` folder of your `CM1` instance. Paste it into the `\App_Config\Modules\` folder of your other instances. ** Copy the `Coveo` custom configuration files folder located in the `\App_Config\Include\` folder of your `CM1` instance. Paste it into the `\App_Config\Include\` folder of your other instances. ## Step 4: Preventing CDs from trying to write to the Property Store database In certain circumstances, Coveo for Sitecore may try to write `LASTCRITICALINDEXINGEXCEPTION` records to the Property Store. This will cause errors if you have set the Property Store database to read-only mode. To prevent these errors, you can set the Coveo for Sitecore `CriticalExceptionsDisabled` setting to `true`. . In the `\App_Config\Include\Coveo\Coveo.SearchProvider.Custom.config` file, try to locate the `` element, a child of the `` element. If the `` element is missing, add it. ```xml ... ... ``` . In the `` element, add the following `` child element: ```xml ``` . Save your changes. ## What's next? You're now done with deploying Coveo for Sitecore, and you should test your connection to make sure everything is working (see [Validate connectivity of the new hosts](https://docs.coveo.com/en/2636/)).