Deploying the Autopilot agent at scale
The interactive installer is fine for one machine. This page covers everything else: picking a release channel, scripting an unattended rollout, and the deployment mode for machines nobody signs in to.
What gets installed
Section titled “What gets installed”The agent installs to C:\Program Files\MSPControl Autopilot and registers a Windows service named MSPControl Autopilot, running as the system account.
Three parts work together:
| Component | Runs as | Job |
|---|---|---|
| Windows service | System | Carries out commands from the control panel, reports device state, applies settings |
| Session agent | The signed-in user | Per-user work — drive mapping, published shortcuts, profile settings |
| Tray application | The signed-in user | The interface the user sees |
On a machine with no interactive user, only the service does anything meaningful. See userless installation below.
Choosing a release channel
Section titled “Choosing a release channel”Two channels are in use:
| Package | Product name | Use for |
|---|---|---|
mspcontrolbrandeddesktopagent21 |
MSPControl Autopilot 2.1 | Production. The current release. |
mspcontrolbrandeddesktopagent20 |
MSPControl Autopilot 2.0 | Estates still standardised on 2.0 |
Unattended installation
Section titled “Unattended installation”The packaged install already runs silently and writes a verbose log:
choco install mspcontrolbrandeddesktopagent21 -yExit codes 0, 3010 and 1641 all mean success — the latter two indicate a restart is needed or has been initiated.
msiexec /i MSPControlAutopilot.msi /quiet /l*v "$env:TEMP\MSPControlAutopilot.log.txt" IS_UPDATER=1| Argument | Purpose |
|---|---|
/quiet |
No interface |
/l*v <path> |
Verbose log — capture this, it is the first thing support will ask for |
IS_UPDATER=1 |
Marks the install as an in-place update, so an existing configuration is preserved |
Userless installation
Section titled “Userless installation”Servers, RDS session hosts, kiosks and shared terminals have no interactive user to sign in and supply credentials — but they still need managing. Userless installation is the supported mode for them, and it changes how the agent authenticates.
Instead of a user credential, the agent holds a system-level credential and exchanges it for a device token. The service then works entirely on its own: it reports state, accepts commands, and applies settings with no user session at all.
When a system-level credential is set, three things follow:
IsUserlessInstallationbecomes true, and the agent stops expecting a userUserlessDomainNamerecords the account the credential belongs to- The agent requests a userless token rather than authenticating as a person
Because there is no user session, the per-user features do nothing on these machines. Drive mapping, published shortcuts, profile and signature management and the tray application are all inert. Do not treat their absence as a fault.
Updating
Section titled “Updating”The agent can update itself. The behaviour is controlled centrally by the AutoUpdateEnabled device setting, pushed from the control panel — not configured on the machine.
- Enabled — the agent updates itself when a newer build is published to its channel.
- Disabled — updates only happen when you deploy them, through Chocolatey or your own tooling.
Users can also check manually with Check for Update in the tray application, which offers the newer build if one exists.
Verifying a rollout
Section titled “Verifying a rollout”- Confirm the MSPControl Autopilot service is running.
- Check the device appears in the control panel and is reporting recently.
- On a machine with a user, confirm the tray icon shows Connected.
- Check the installer log at the path you passed to
/l*vfor anything that failed quietly.
Related
Section titled “Related”- Install Autopilot — the interactive installer
- The Autopilot icon on your computer — the end-user guide
- Entra ID tenant-to-tenant migration