--- title: "Same Machine Manual Multi-Tenant Setup" slug: "multi-tenancy-setting-up-multiple-instances-on-the-same-machine" description: "Set up local Multi-Tenancy on a Self-Hosted or IIS installation to test and distribute resources across Tenant Instances without using virtual machines." updated: 2026-06-29T19:32:03Z published: 2026-06-29T19:32:03Z canonical: "documentation.decisions.com/multi-tenancy-setting-up-multiple-instances-on-the-same-machine" --- > ## Documentation Index > Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt > Use this file to discover all available pages before exploring further. # Same Machine Manual Multi-Tenant Setup NoteTo host multiple instances of a multi-tenant (MT) application on the same server, it is recommended to use Internet Information Services (IIS) for hosting. ## Overview Setting up [**Multi-Tenancy**](https://documentation.decisions.com/version-10/docs/about-multi-tenancy) on a Local File System/machine provides a testing environment capable of distributing resources across multiple environments without the use of VMs. This allows **[Control Instance](https://documentation.decisions.com/version-10/docs/multi-tenancy-setting-up-a-control-instance)** Administrators to access multiple **[Tenant Instances](https://documentation.decisions.com/version-10/docs/multi-tenancy-adding-and-setting-up-a-tenant-instance)** without the additional cost and resource demand of setting up another machine or VM. The following document demonstrates how to establish one such environment for **Self-Hosted** and **IIS** installations. ### Prerequisites - Establish a **Control Instance** - Create an Account on the Control Instance for use as the Tenant Admin --- ## Example ### Copying and Modifying the Control Instance 1. From the **Decisions** **Studio** of the **Control** **Instance**, navigate to **System > Hosting**. Then, click ADD INSTANCE. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1782245478642.png) 2. From the **Add** **Instance** window, copy and paste the **Authentication** **Key** into an empty text editor. 3. Under **Admin Account**, PICK the Account that was created for this Instance. Then provide the desired **Instance****Name** and **Instance** **URL**, and click ADD INSTANCE.Instance URL ConfigurationFor ease of use follow the below format when defining the **Instance** **URL**: - For **IIS**: Provide an Instance URL that references the **IP** **Address** of the **Control** **Instance****URL**, but a unique indicator afterward, typically one that references the name of the database used for the Instance. For example: "http://(IP ADDRESS HERE)/instance1" - For **Self** **Hosted**: Provide an Instance URL that references the **Domain** of the Control Instance URL, followed by a unique **Port** number. For example "http://localhost:8083". ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1782245543767.png) 4. Navigate to the installation location. By default, this is **C:\Program Files\Decisions** in the **Control Instance.** Copy the **Decisions Server** folder. Then, **Paste** the copied folder into the same location. **Rename** the folder to match the name of the second Instance.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2022-04-21_11h05_22.png) 5. Within the newly renamed Instance folder, open the **Settings.xml** in a text editor. Change the following configurations as follows. Once done, save and close the file. ```markup ServerType: Change to Tenant InstanceName: Change this to the defined Instance Name PortalBaseURL: Match this to the provided Instance URL DatabaseConnectString: Copy the following text in between the tag and adjust accordingly. If using MSSQL: Data Source=[SERVER NAME] ;Initial Catalog=[DATABASE NAME];User ID=[ADMIN USER ID FOR DATABASE];Password=[PASSWORD OF ADMIN ACCOUNT];DatabaseConnectString> Note that the format of the Server Name/Data Source is dependent upon the version of MSSQL that is used. If a Developer Server is being used this will be written as (local); if SQL Express used it will be written as (local)\SQLEXPRESS. If using Postgres: Server=localhost;Port=5432;Database=[DATABASE NAME];User Id=[ADMIN USER ID FOR DATABASE];Password=[PASSWORD OF ADMIN ACCOUNT];DatabaseConnectString> ServerType: Change from Hosted to Tenant ControlInstanceURL: Provide the URL for the Control Instance. InstanceAuthenticationKey: Paste in the previously copied Authentication Key. HttpPort: Provide a unique value for each respective Instance. Note; changing the Portal number is not required for an IIS installation. ``` ### ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1741037596031.png) ### Hosting Specific Configurations This portion of the example is dependent upon the type of installation used for the **Control** **Instance**. ### [Self Hosted](https://documentation.decisions.com/version-10/docs/installation-guide#self-hosting-) 1. From the Local File System, open a **Command Prompt** window as an administrator. 2. From the Command Prompt, type **cd\**, then press the Enter key. 3. In quotation marks, type the file path of the **Instance** **bin** **folder** e.g. **"Program Files\Decisions\Instance1\bin"** then press Enter. 4. Input **Decisions.Web.Core.exe**, then press Enter.Command Prompt Configurations Providing path to the **bin** folder and the **Web.Core.exe** file will allow the **Command** **Prompt** to run the **DecisionsServerInstaller**.  ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2022-02-08_13h33_34.png) 5. After installation concludes, press **Ctrl+C** as prompted to shut down the Control Prompt.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2022-02-08_13h37_17.png) 6. Attempt to log into the newly added Instance from an incognito window with the defined Admin account. ### [IIS](https://documentation.decisions.com/version-10/docs/installation-guide#iis-hosting) 1. From the Local File System, open **IIS** **Manager**. 2. From IIS Manager, under the **Application** **Pools** for the primary server, select **Add** **Application** **Pool**. 3. From the Add Application Pool window, provide a unique Name. Then change the **.NETCLR version** to **No Managed Code** and click OK.Application Pools and Localized IISNote each **Instance** on the same machine for a **Localized IIS Multi-Tenancy** will require its own separate Application Pool. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2022-02-08_13h49_59.png) 4. From the **Connections** **Tree** on the left, right-click the **Default** **Web** **Site**, then select **Add** **Application**. From the Add Application window, provide a unique **Alias** that matches the **Instance Name**. Next to the Application pool, click the **Select** button and choose the newly created Application Pool. Click OK. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2022-02-08_13h58_16.png) 5. Click the ellipses button next to the **Physical Path** textbox. Select the folder containing the Tenant Instance, then click OK. Select OK once more to exit the primary Add Application window. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2022-02-08_14h02_27.png) 6. Verify that the Instance displays in the list of Connections under the Default Web Site. Under **[Instance Name] > Manage Application**, click **Browse *:80**. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/02_17_2022_10h_48m.png) 7. Navigate to the folder of the Instance and open **progress.txt**; verify that the installation has concluded by observing the "Application Boot Completed!" text. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2022-02-08_14h10_33.png) 8. Attempt to login to the **BasePortalURL** of the Instance from the designated Admin account. 9. Navigate to the **System** **Folder** to verify that the correct **License** type displays. For this example, "Enterprise". ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1782245603574.png) ---