Install the sync client per machine (preview)

By default, the OneDrive sync client installs per user, meaning OneDrive.exe needs to be installed for each user account on the PC under the %localappdata% folder. With the new per-machine installation option, you can install OneDrive under the “Program Files (x86)” directory, meaning all profiles on the computer will use the same OneDrive.exe binary. Other than where the sync client is installed, the behavior is the same.

The new per-machine sync client provides:

  • Automatic transitioning from the previous OneDrive sync client (Groove.exe)
  • Automatic conversion from per-user to per-machine
  • Automatic updates when a new version is available

The per-machine sync client supports syncing OneDrive and SharePoint files in Microsoft 365 and in SharePoint Server 2019.

Requirements

Deployment instructions

  1. Download OneDriveSetup.exe.
  2. Run “OneDriveSetup.exe /allusers” from a command prompt window (will result in a UAC prompt) or by using SCCM. This will install the sync client under the “Program Files (x86)\Microsoft OneDrive” directory. When setup completes, OneDrive will start. If accounts were added on the computer, they'll be migrated automatically.

FAQ

Do I need to move to the per-machine sync client? The per-machine sync client is helpful especially for multi-user computers and when you don’t want exe files running from the user profile. Over time, we will recommend that more and more customers switch to per-machine installation.

With per-machine installation, will a single OneDrive.exe process be shared by all users on the computer? No, although a single version of OneDrive.exe is installed, a new process is created for every OneDrive account syncing on the computer.

Will the same update rings apply to per-machine? If you selected the Insiders ring (via the Windows Insider program or Office Insider programs) or are in the default Production ring, you will continue to be in the same ring as before.

In the past you may have used a user group policy (under HKCU) to select the Enterprise ring (Receive OneDrive sync client updates on the Enterprise ring). This group policy will not work with the per-machine install. To select the ring, use the computer group policy (under HKLM) instead (Set the sync client update ring).

Note

We do not recommend selecting the Enterprise ring while this feature is in preview because you will not receive bug fixes for any issues we find.

Does the per-machine sync client follow the same update process/cadence as the per-user sync client? Yes, the per-machine sync client will auto-update on the same cadence as the per-user sync client and the same rings are supported (see question above). The release notes are the same. More info about the sync client update process

The sync client is an extension of the service and a very thin client so auto-updating to the latest version is critical to maintaining a high-quality sync experience. As a result, we recommend that you keep your users in the default Production ring and rely on auto-update to take care of updating to the latest version. If your organization requires you to deploy updates manually through SCCM, we recommend that you select the Enterprise ring and deploy the upcoming builds before auto-update takes effect as described here.

Do automatic updates of the per-machine sync client require user intervention? User intervention is not required for the per-machine sync client to update itself. Elevation is required when you first set it up. During setup, we install a scheduled task and a Windows service, which are used to perform the updates silently without user intervention since they run in elevated mode.

How do I revert back to the per-user sync client if required? We do not support automated migration from per-machine to per-user. To revert back after installing per-machine, please uninstall the sync client and install the latest released version without the “/allusers” parameter.

How can I detect the installation through SCCM?

For SCCM, to detect the install we used the following two registry detection rules with an OR() connector;

[HKLM\SOFTWARE\Wow6432Node\Microsoft\OneDrive]"1111-2222-3333-4444"=dword:0005000

HKLM\SOFTWARE\Wow6432Node\Microsoft\OneDrive | Version | 32bit on 64bit TRUE | Type=Version | = 19.043.0304.0007 HKLM\SOFTWARE\Microsoft\OneDrive | Version | 32bit on 64bit FALSE | Type=Version | = 19.043.0304.0007

This allows the per-machine version to be detected independent of the underlying client architecture.