# Deploy the Factory App on Windows

Install and manage the Factory App on Windows with MSIX.

Deploy the Factory App with signed MSIX packages using PowerShell or your Windows endpoint management tool.

For an individual installation with the standard installer, follow the [Factory App quickstart](/factory-app/quickstart).

## Requirements

- Windows 10, version 1809 (build **10.0.17763.0**), or later. Choose the **x64** or **ARM64** package for your device.
- Device-level provisioning requires administrator permissions. Per-user installation must run in the intended user's context.

For connectivity requirements, see [Network and deployment](/enterprise/network-and-deployment). For isolated environments, follow [Airgapped deployment](/enterprise/airgapped-deployment) instead of using the public downloads.

## Download

| Architecture | Latest published package |
| :----------- | :----------------------- |
| x64 | <a href="https://app.factory.ai/api/desktop?platform=win32&architecture=x64&format=msix">Download Factory MSIX for x64</a> |
| ARM64 | <a href="https://app.factory.ai/api/desktop?platform=win32&architecture=arm64&format=msix">Download Factory MSIX for ARM64</a> |

## Installation

The examples assume the package is saved as `C:\Packages\Factory.msix`.

### Install for the current user

Run PowerShell as the user who will run Factory:

```powershell
Add-AppxPackage -Path "C:\Packages\Factory.msix"
```

This registers Factory only for that account. Running the command as a different administrator does not install it for the intended user.

### Provision a device

Run PowerShell as an administrator:

```powershell
Add-AppxProvisionedPackage -Online -PackagePath "C:\Packages\Factory.msix" -SkipLicense -Regions "all"
```

This adds the package to the Windows image for registration at user sign-in, including new profiles. Existing users may need to sign out and back in.

Microsoft documents the commands in [Add-AppxPackage](https://learn.microsoft.com/en-us/powershell/module/appx/add-appxpackage) and [Add-AppxProvisionedPackage](https://learn.microsoft.com/en-us/powershell/module/dism/add-appxprovisionedpackage).

## Deploy through endpoint management

Use your endpoint management platform's native MSIX deployment support, where available, to assign Factory to the intended users or devices. Follow the platform's guidance for installation scope and permissions.

For scripted installation or additional setup, distribute the MSIX with a PowerShell script using the [installation commands above](#installation). Run per-user installation in the intended user's context and device provisioning in system or administrator context.

For scripted deployments, match custom detection to the scope: use `Get-AppxPackage` for the target user, or elevated `Get-AppxProvisionedPackage -Online` for the device's provisioning record.

For platform-specific examples, see Microsoft's MSIX deployment guides for [Intune](https://learn.microsoft.com/en-us/windows/msix/desktop/managing-your-msix-deployment-intune) and [Configuration Manager](https://learn.microsoft.com/en-us/windows/msix/desktop/managing-your-msix-deployment-mem-adminconsole).

## Choose who manages updates

An endpoint management assignment does **not** disable Factory's in-app updater. Choose who manages new versions before deployment.

### IT manages releases

To block in-app updates, open **Enterprise Controls → Agent Behavior** in the Factory App and turn on **Disable Auto Update** for your organization.

This disables in-app desktop updates and automatic Droid CLI updates. IT can still deploy newer signed packages through Windows management tools.

### Factory managed releases

Leave **Disable Auto Update** turned off in **Enterprise Controls** to let Factory manage releases. Factory checks for releases in the background and asks for consent before downloading and installing an MSIX update. Airgapped installations do not use in-app updates.

If you use custom detection scripts, accept installed versions greater than or equal to your deployment baseline. An in-app update affects that user's registration, not the device's provisioned package or every other user's installation.

## Troubleshoot deployment

### Windows blocks the package

Check the package signature, OS build, architecture, and AppLocker or other application-control rules. Approve the appropriate package or publisher rule rather than disabling application control.

### Provisioning succeeds but Factory is missing for a user

Confirm the deployment ran in the intended context, then sign out and back in. A provisioned package still needs to be registered for the active user.

### Updates still appear after an IT deployment

Confirm **Disable Auto Update** is turned on in the app's **Enterprise Controls** for the active organization. Restart Factory after changing the setting.

<RelatedLinks>
  <RelatedLink href='/factory-app/quickstart' title='Factory App quickstart'>
    Start a session after installation.
  </RelatedLink>
  <RelatedLink href='/enterprise/hierarchical-settings-and-org-control' title='Enterprise Controls'>
    Configure organization-managed settings.
  </RelatedLink>
</RelatedLinks>
