With Office365 applications becoming more popular within Virtualization environments, one of the more commonly used applications these days is OneDrive. As part of working within Horizon environments alongside with AppVolumes and FSLogix there are some lessons that I have learned working with these technologies. This blog post is intended to provide some general settings for making these technologies work in tandem and to improve the user experience:
Install OneDrive using the /allusers machine-wide installation option. Performing the installation this was configured OneDrive so that users do not need to provide an additional username and password when logging into the VDI image.
Clean the OneDrive Setup Registry. Under the default user profile, there is a reference to OneDrive which performs a per user installation. While it would be nice if the OneDrive /allusers flag removed this, it does not. Mount the default user profile and remove this reference under “HKUDefaultHive:\DefaultHive\Software\Microsoft\Windows\CurrentVersion\Run\OneDriveSetup”
After installation of the OneDrive agent, one issue that is common in AppVolumes environments is that you might notice that user’s OneDrive’s files will either not sync or will sync sporadically. This will be made evident as the files will have a gray ‘X’ on them and the status will not contain any information listed.
If you attempt to open a file, it might open correctly as OneDrive will attempt a full file download, however, this behavior is neither consistent nor ideal, especially because after logging back in the status will be back to a gray “X”. This issue is particularly annoying as it prevents proper use of OneDrive features including sharing, selecting where files should live (cloud vs local) and inability to properly remove a file from OneDrive cloud.
Behind the scenes, AppVolumes is leveraging a driver which is stepping over the OneDrive drivers. This is the reason that if you wait long enough, m sometimes the OneDrive driver will ‘win’ and you will be able to perform a full sync, however, keep in mind that this is not fully consistent as it largely depends on the number of AppVolumes that have been created within the environment, in some environments, this can be a perpetual slog which prevent OneDrive from working almost entirely.
To address this issue, AppVolumes needs to exclude OneDrive’s Sync drivers from being processed through AppVolume’s drivers. The process to fix this is as follows: