---
title: "Deploy a Compatibility Package to a machine"
description: "Deploy a Compatibility Package to a folder on one computer for all its users."
product: "Alchemy"
edition: "Public"
type: "workflow"
url: "https://docs.cloudhouse.com/public/deploying-packages/deploy-to-a-machine/"
---
# Deploy a Compatibility Package to a machine

Use the **Machine** option when you need to deploy a Cloudhouse Alchemy Compatibility Package to a specific folder on a specific computer for all users to use, but when each user should have their own data stored in their own `HKCU` Registry Hive. For example, a physical or virtual computer.

Applies to: `Alchemy`

!!! note

    If you are deploying to a server (where a Compatibility Package needs to be deployed to a specific folder on a specific computer for all users to use, and when all users should share the same Machine Registry Hive), then you should follow the instructions in [Deploy an Alchemy Compatibility Package to a Server](https://docs.cloudhouse.com/public/deploying-packages/deploy-to-a-server/index.md). Your source Compatibility Package is not modified when it is deployed.

## Prerequisites

To deploy a Compatibility Package to a Machine, you need:

- An account with **Administrator** access to the target computer.
- A valid Licensing Token within the Compatibility Package.

## Process to deploy a Compatibility Package to a machine

1. Start a Command Prompt as the **Administrator**.
2. Run the command: `<path_to_package>\Cloudhouse.Container.Deployment.Exe /deploydir <target_path> /accepteula /<switches>`.

    Where:

    - `<path_to_package>` is the path to the source Compatibility Package you want to deploy.
    - `<target_path>` is the path to the folder on the destination computer you want to deploy the Compatibility Package to.
    - `<switches>` are any optional command-line switches you wish to specify.

    For example:

    ```
    C:\Packages\ERP-v2\Cloudhouse.Container.Deployment.Exe /deploydir "C:\Program Files" /accepteula
    ```

    !!! warning

        The command-line switches `/deploydir` and `/accepteula` are required to deploy a Compatibility Package. For more information, see [Alchemy Compatibility Package Deployment Command-Line Options](https://docs.cloudhouse.com/public/deploying-packages/command-line-options/index.md).

!!! note

    The `/deploytype` machine switch is not mandatory. If the switch is not specified, the Compatibility Package is deployed to the Machine. Also, the commands can be run manually, as part of a build script executed by the Administrator or a 3rd-party electronic software development (**ESD**) tool.

## What happens during a machine deployment?

When a Compatibility Package is deployed to a Machine, the following occurs:

- Any file type associations specified in `FileAssociations.xml` are created in the `HKLM` registry hive, to be accessible to all users of that computer.
- Any shortcuts specified in `Shortcuts.xml` are registered for all users of the computer. Any shortcuts with a path pointing to the user's desktop or Start menu, are translated to the equivalent of the **All Users** folder so they are accessible to all users on the computer.
- Any services specified in `Services.xml` will be registered to the Windows Services, to be accessible by all users on the computer.
- Any Com servers specified in `ComDeployment.xml` will be registered in the `HKLM` registry hive, to be accessible by all users on the computer.

## Validation

When a Compatibility Package is deployed in the Machine context, validations are performed to ensure that:

- A valid licensing token exists at the top level of the Compatibility Package.
- The AAV binaries exist within the Compatibility Package and all have the same version.
- The Compatibility Package binaries exist within the Compatibility Package and all have the same version.
- All required components exist in the Compatibility package.
- All XML files are valid.
