---
title: "Deploying Customer's Canvas to Windows Servers"
canonical: https://customerscanvas.com/docs/cc6/deploying-application-to-windows-server.htm
archived: true
applies_to:
  - product: "Customer's Canvas On-Premises"
  - product: "Design Editor"
    versions: ["6.15.0", "6.x (may differ)"]
---

**You’re viewing outdated documentation.** [View the latest Customer’s Canvas On-Premises documentation](https://customerscanvas.com/docs/on-premises/).

# Deploying Customer's Canvas to Windows Servers

**Applies to:** Customer's Canvas On-Premises; Design Editor 6.15.0, 6.x (may differ) · **Archived documentation**
 
Although Customer's Canvas is an ASP.NET application and requires an ASP.NET environment, you can integrate it into almost any system, no matter what platform it is built on. If you are using LAMP, Ruby on Rails, or anything else, you can still use Customer's Canvas. The only ASP.NET platform you need to take care of is your hosting: you host Customer's Canvas in an ASP.NET environment and implement it into a product personalization page on your site using as little as the &lt;iframe&gt; tag.
 
This topic describes how to deploy Customer's Canvas to Windows Server 2016 or Windows Server 2019. There are also a few words on the distribution package, prerequisites, and using the Web API:
 
- Prerequisites
- The distribution package
- The deployment to IIS
- Configuring the application
- The use of the Web API

## Prerequisites
  
To deploy the on-premises version, you need VPS/VDS based on Windows Server 2008 or higher. A shared hosting server is not suitable for the deployment because such a hosting solution does not allow you to control the IIS settings and the operating system, does not provide access to all necessary logs, and significantly restricts the performance of the application.
 
The following components are required to deploy Customer's Canvas to a Windows Server:
 
- IIS installed with ASP.NET 4.5 or higher (server roles *.NET Extensibility 4.5* and *ASP.NET 4.5*).
- [Microsoft .NET Framework 4.6.2↗](https://www.microsoft.com/net/download/thank-you/net462) or higher.
- Both [Microsoft Visual C++ 2017 Redistributable Package (x86)↗](https://go.microsoft.com/fwlink/?LinkId=746571) and [Microsoft Visual C++ 2017 Redistributable Package (x64)↗](https://go.microsoft.com/fwlink/?LinkId=746572).
- Microsoft Internet Explorer 11.
 
## The Distribution Package
  
You can download a Customer's Canvas package from [your account↗](https://customerscanvas.com/account/licenses). This package represents a web application and data files in the `CustomersCanvasServer.zip` archive:
 
- `assets` - such assets as designs, mockups, fonts, color profiles, etc.
- `cc-<version-number>` - the built application.
- `LicenseManager` - a utility to register Customer's Canvas.
- `userdata` - user products and images.

This structure allows you to easily upgrade Customer's Canvas or use multiple instances running at the same time. Another point when data files are located outside the application folder, they cannot be downloaded directly from a webserver.
 
## The Deployment to IIS
  
Deployment of Customer's Canvas to IIS can be done as follows:
 
1. In the File Explorer, navigate to the web root directory (usually it is `C:\inetpub`) and create a new site's folder under it, for example, `CustomersCanvas`.
2. Unzip the content of `CustomersCanvasServer.zip` to this folder (`C:\inetpub\CustomersCanvas`).
3. Open the IIS manager.
4. In the IIS manager, create a new site (right-click **Sites** and then click **Add Website**). 
    ![Creating a new web site in IIS.](https://customerscanvas.com/docs/cc6/images/DeployIIS01.png)
5. Enter the **Site name** (CustomersCanvas) and its **Physical path** (`C:\inetpub\CustomersCanvas\cc-<version-number>`) and click **OK**. 
    ![Configuring the site.](https://customerscanvas.com/docs/cc6/images/DeployIIS02.png)
6. If you get the binding error shown in the following screenshot, then stop any other site that uses port 80. For example, **Default Web Site** uses this port by default, so it must be stopped. 
    ![Binding error, caused by binding a site to the already used port.](https://customerscanvas.com/docs/cc6/images/DeployIIS03.png)
7. In IIS Manager, find the CustomersCanvas application pool in the list of **Application Pools**, right-click this pool, click **Basic Settings**, select **.Net CLR Version v4**, set the **Integrated** pipeline mode, and click **OK**. 
    ![Configuring application pool.](https://customerscanvas.com/docs/cc6/images/DeployIIS04.png)
8. Right-click the pool again, click **Advanced Settings**, and set the pool's **Identity** to NetworkService. 
    ![Configuring advanced settings of the application pool.](https://customerscanvas.com/docs/cc6/images/DeployIIS05.png)
9. Find the .NET v4.x (it could be 4.5 or higher) application pool in the list of **Application Pools**. 
    ![The .NETv4.x application pool in the list of application pools.](https://customerscanvas.com/docs/cc6/images/DeployIIS05b.png)
10. Right-click the .NET v4.x, click **Advanced Settings**, and set the pool's **Identity** to NetworkService.
11. Set up permissions for `C:\inetpub\CustomersCanvas`.
    - Open the File Explorer, browse to `C:\inetpub`, right-click `C:\inetpub\CustomersCanvas`, and click **Properties**. On the **General** tab, uncheck **Read-only**, then click **Apply**. 
        ![Properties of the CustomersCanvas folder.](https://customerscanvas.com/docs/cc6/images/DeployIIS06.png)
    - On the **Security** tab, click **Edit**, then click **Add**. Type in NETWORK SERVICE, click **Check Names**, and after it finds the account (the account's name should become underlined: NETWORK SERVICE), click **OK**. 
        ![Add the Network service account to the list of users.](https://customerscanvas.com/docs/cc6/images/DeployIIS07.png)
    - Select the **Modify** permissions and click **OK** two more times. 
        ![Giving permissions to the Network service account.](https://customerscanvas.com/docs/cc6/images/DeployIIS08.png)
12. Similarly to the previous step, set up the **Modify** permissions for the `C:\Windows\Temp` folder for NETWORK SERVICE.
13. Register your license key.
    - In the `C:\inetpub\CustomersCanvas\LicenseManager` folder, run `LicenseManager.exe`.
    - Obtain an activation code and [register your license key](https://customerscanvas.com/docs/cc6/registering-production-license-keys.htm.md).
14. Browse the CustomersCanvas site: right-click the site name, click **Manage Website**, and click **Browse**. You should see a page displaying a simple product in the Design Editor.

If you face a deployment problem, refer to the [Troubleshooting](https://customerscanvas.com/docs/cc6/troubleshooting.htm.md) topic for a solution.
 
## Configuring the Application
  
If you have unzipped assets and user files to the default location as described in the previous section, you can skip changing paths to these files. Otherwise, you must specify their location in `C:\inetpub\CustomersCanvas\cc-<version-number>\Configuration\AppSettings.config`:
 
- **DesignFolder** - design templates.
- **DesignImagesFolder** - images referenced in design templates.
- **MockupFolder** - product mockups.
- **PublicGalleryFolder** - images available to all users.
- **UserDataFolder** - user files and images.
- **WatermarkFolder** - watermark images.

And in the `C:\inetpub\CustomersCanvas\cc-<version-number>\Configuration\Aurigma.DesignAtoms.config` file:
 
- **ColorProfilesDirectory** - color profiles.
- **FontDirectory** - fonts.

If your site and Customer's Canvas run on different domains, you can specify your site domain in `AppSettings.config`, in [CorsAllowOriginDomains](https://customerscanvas.com/docs/cc6/appsettings-config.htm.md), to disallow unauthorized access to the web-to-print editor from other domains.
 
```xml
<appSettings>
    <add key="CorsAllowOriginDomains" value="http://example.com" />
</appSettings>
```
 
You may want to go further and configure other [application parameters](https://customerscanvas.com/docs/cc6/web-config.htm.md) as well as [parameters of the user interface](https://customerscanvas.com/docs/cc6/client-config.htm.md).
 
You can also refer to the [Advanced Server Configuration](https://customerscanvas.com/docs/cc6/advanced-server-configuration.htm.md).
 
## The Use of the Web API
  
The Customer's Canvas [Web API](https://customerscanvas.com/docs/cc6/webapi.htm.md) allows you to render product templates, implement token-based authentication, and manipulate files, images, and fonts in the editor. It works based on the HTTPS requests. So, to use the Web API, you need to perform the following actions:
 
1. Set up an HTTPS service in IIS. For example, you can follow the steps described in [setting up an HTTPS service↗](https://support.microsoft.com/en-us/kb/324069).
2. Make sure that you have a valid SSL-certificate for your domain, for example, Google Chrome shows this icon for invalid certificates: ![An invalid SSL-certificate.](https://customerscanvas.com/docs/cc6/images/https.png). If you have an invalid one, install a new SSL web server certificate (you can refer to [installing a certificate↗](https://technet.microsoft.com/en-us/library/cc771816)).

To use the Web API, you must set **ApiSecurityKey** in `AppSettings.config`. It is an arbitrary string, but it must be a unique value. You have to include this key in headers of HTTP requests as the `X-CustomersCanvasAPIKey` field to perform these requests. The Web API works if a value of this key passed in the request matches the value defined in `AppSettings.config` as the following example shows.
 
```xml
<appSettings>
    <add key="ApiSecurityKey" value="UniqueSecurityKey" />
</appSettings>
```
 
For security reasons, it is good practice when your back-end code, like a proxy, sends requests to an API controller. In this case, your code decides whether a user has enough rights to manipulate a mockup or template file or not, and if the user has enough rights, the code sends the HTTPS requests to the controller.
 
## See Also
  
### Manual
 
- [System Requirements](https://customerscanvas.com/docs/cc6/system-requirements.htm.md)
- [Troubleshooting](https://customerscanvas.com/docs/cc6/troubleshooting.htm.md)
- [Advanced Server Configuration](https://customerscanvas.com/docs/cc6/advanced-server-configuration.htm.md)
- [Deploying Customer's Canvas to Windows Server 2008](https://customerscanvas.com/docs/cc6/deploying-application-to-windows-server-and-azure.htm.md)

### Other
 
- [How To Set Up an HTTPS Service in IIS↗](https://support.microsoft.com/en-us/kb/324069)
- [Install an Internet Server Certificate↗](https://technet.microsoft.com/en-us/library/cc771816)
