In this section:

Cache Roaming for Virtual Sessions

Cache Roaming functionality introduces capabilities to roam user application caches between sessions in non-persistent environments. The Virtual Hard Disk (VHD or VHDX) container is attached to the user's virtual desktop or session allowing the necessary folders within the user profiles to be redirected here. The feature is suitable for supported VDI infrastructures in virtual desktop environments, including XenDesktop, or Remote Desktop Session Host (RDSH) scenarios such as XenApp. Applications do not require any reconfiguration and no changes are made to user profiles.

The feature uses two actions to achieve this:

  • Manage VHD(X) - Mount an existing VHD(X) or create and mount a new VHD(X).
  • Cache Roaming - Redirect a user profile cache to the VHD(X).

The two actions can be used independently but most commonly, they will be used together - roaming the VHD(X) specified (or created using the Manage VHD(X) action), to the location defined in the Cache Roaming action. The actions are available on Pre-Desktop and Desktop Created triggers, and automatically detach on logoff and network disconnect. This allows users to reconnect when they logon to another endpoint or start a new VDI session.

One of the main use cases for this functionality is the roaming of Outlook OST Cache files, providing users instant access to their Office 365 mailboxes. Outlook Cached Exchange requires large OST files to remain resident within a user’s profile. In Non-Persistent VDI and RDSH environments, the profile is typically rebuilt at logon, resulting in the loss of user's OST files. Consequently, at the next logon, Outlook has limited functionality while it downloads and rebuilds the OST cache, which can be multiple gigabytes in size. Using this feature means that users with non-persistent VDI setups do not need to be in ‘Exchange Online Mode’ - they can be in ‘Cached Exchange Mode’, persisting their entire mailbox between sessions. This provides a much better user experience and can make users instantly productive following migration to Windows 10 or Office 365 migration.

In addition to Outlook OST cache files, the Manage VHD(X) action includes built-in settings for roaming OneNote, OneDrive, Windows and Outlook Search, and Skype for Business 2016/365 Global Address List caches. Additionally, you can also create your own custom redirections. Example potential candidate locations include areas within the user profile that are too large for synchronization via Environment Manager Personalization, but are key to providing an optimal user experience.

OneDrive Cache Roaming

To provide a seamless user experience without major impact to system performance, Environment Manager provides a policy method of persisting user profile settings across virtual sessions for OneDrive. The template used for OneDrive cache roaming utilizes a filesystem redirection driver and requires slightly different configuration to the other templates provided.

Once configured, at user logon the VHD(X) is mounted (or created if it does not already exist). The user's OneDrive cache is redirected to a sub folder at the root directory of the VHD(X). When the user logs off from their sessions the VHD(X) is automatically detached and re-mounted at the next logon.

OneDrive requires the original cache and the cache roaming locations to be on the same volume (or logical drive).
It is possible to move the location of the cache using Microsoft GPO.

Custom cache location

Environment Manager 2021.1 introduced an additional OneDrive template to allow a custom cache roaming location to be specified. Administrators can now define a custom cache roaming folder location (within the same volume as the cache). See Cache Roaming below.

Windows and Outlook Search

Environment Manager supports roaming both the Windows and Outlook search indexes via built-in cache templates:

Outlook Search template

The Outlook Search template enables a per-user profile of the Outlook search index to be roamed between non-persistent sessions. The template delivers real improvements for users, avoiding the need to download and rebuild the search index at every user logon.

Note, if a mandatory user requires a persistent Outlook search index cache they will need to select both the Outlook OST and the Outlook Search cache templates.

Windows and Outlook Search template (single user workstation)

The Windows and Outlook Search template enables the roaming of system-wide Windows Search database between sessions on a single user workstation. Using the template, the search index is delivered from a locally stored directory.
Note, there is no support for the template on concurrent sessions on Windows Server.

The use of both the search index cache templates together is not supported.

Concurrent users

Environment Manager supports concurrent user access for Office 365 VHD(X) containers. This enables a user within a non-persistent Windows environment to have multiple sessions running at the same time, for example to access Outlook from multiple virtual sessions.

The Windows Office 365 environment allows multiple concurrent sessions but only one connection to the cloud based storage. To enable multiple concurrent sessions, Environment Manager creates a VHD(X) for each device logon. Each VHD(X) will synchronize with the cloud based storage, ensuring that files are always updated. When a user logs out of a session, the VHD(X) is detached, unlocked and becomes available for another user session. A user can create many concurrent sessions.

At logoff from concurrent sessions, a maximum of 5 VHD(X) files are retained per user. This ensures that users have a pool of synchronized disks available to re-attach and from which to restore the Office 365 cache.

VHD(X) concurrent users functionality is enabled by default. It can be disabled via a simple checkbox.
Note that when VHD(X) concurrency is disabled the user may experience issues if their VHD(X) becomes locked or they are unable to attach to it. Under these circumstances Office 365 applications may not work as expected and user settings may not persist between sessions.

Note that cache roaming is designed to work only when making use of a VHD(X) file action - that is, redirecting your caches to the mounted VHD(X). It is not designed to provide cache redirection directly to a network share without using the VHD(X).

Manage VHD(X)

Support for the VHDX was introduced in Environment Manager 2021.1 enabling users to create or attach to either VHD or VHDX formats

Environment Manager does not support the in-place upgrading of VHD to VHDX.

  1. Select or add a node on the Pre-Desktop or Desktop Created triggers.
  2. From the Actions ribbon, select VHD(X) > Manage VHD(X).

    The Manage VHD(X) dialog displays.

  3. Complete the fields to set up the action:

    Setting Properties

    Select or enter the path and filename of the VHD(X) to be mounted. If the disk does not exist on an endpoint and the Automatically create VHD(X) if it does not exist option is selected, a diskwill be created in accordance with the settings configured in this dialog.

    VHD(X) drives should not be created on pre-existing mapped drives.

    The VHD(X) File location will typically be a UNC path to a folder that the user already has full access to, for example a User Home Folder location.

    For advice on how to configure permissions on the VHD(X) Network folder, we recommend customers review Microsoft best practice for Home Folders as a baseline here

    This ensures that Domain administrators and the current user have full control on the VHD(X) file, with the user being the Owner of the parent folder.

    Root Folder

    The root directory of where the VHD(X) will be mounted.
    The folder will contain the VHD contents such as Outlook PST files or the OneDrive cache for example, and can be accessed like any other folder. This enables redirected folders to be managed in a common location.

    This folder must be granted specific permissions so that the VHD(X) can be written to. Required permissions are detailed below (see VHD(X) parent folder permissions, below).

    Automatically create VHD(X) if it does not exist If the specified VHD(X) does not exist on an endpoint, one will be created with the settings defined in this dialog.

    Enable VHD(X) concurrency

    By default VHD(X) concurrency is enabled and this checkbox is selected.

    Clear this checkbox to disable VHD(X) concurrency.


    VHD - Maximum storage capacity of 2 TB and supported on Windows 7 operating systems.

    VHDX - Maximum storage capacity of 64 TB and with better performance than VHD. VHDX provides robust support against data corruption.

    Format Expandable - The size of the disk is variable and will grow to the maximum size as data is added.

    Fixed - The size of the disk is determined on creation, it will always be the size set in the Max Size field. This offers better performance than Expandable VHDs but can have a negative impact on logon times.

    Max Size

    The maximum size is:

    between 150 MB and 2 TB for VHD

    between 150 MB and 64 TB for VHDX

    Even though each user is provided with 1TB of free OneDrive for Business storage with Office 365, it is not necessary to set the Max Size value of the VHD(X) to 1TB as it is unlikely this full allocation of disk space will ever be used. However, the value can be configured on a contextual basis, using Policy Conditions, to meet individual user needs.

VHD(X) parent folder permissions

Permissions are applied via the Advanced Security Settings dialog within Windows.

The following permissions for the parent folder are recommended:

Principal Access

Applies to

Creator Owner Full control

Subfolders and files only

System Full control

This folder, subfolders and files

Domain Admins Full control

This folder, subfolders and files

Everyone* Create folder/append data

This folder only

Everyone* List folder/read data

This folder only

Everyone* Read attributes

This folder only


Traverse folder/execute file

This folder only

* Everyone can be replaced with domain users, authenticated users, or a custom security group.

VHD(X) username folders

It is recommended that a username sub-folder is created under the VHD(X) share location.

Slow logins can result if VHD(X) files are created in a common shared folder for all users (for example, at \\server\share$\%username%.vhd). The delay is caused by the time taken to set permissions on the parent folder for multiple users and to attach the VHD(X) file.

To avoid this delay, best practice is to create the VHD(X) file in a separate folder for each user. Example: \\server\share$\%username%\%username%.vhd.

Cache Roaming

  1. Select or add a node on the Pre-Desktop or Desktop Created triggers.
  2. From the Actions ribbon, select VHD(X) > Cache Roaming.

    The Cache Roaming dialog displays.

  3. Complete the fields to set up the action:



    Cache Template Select a template from the drop-down:
    • Custom
    • OneDrive Cache
    • OneDrive Cache (Custom cache location)
    • OneNote Cache
    • Outlook OST Cache
    • Skype for Business 2016/365 Global Address List
    • Outlook Search Cache
    • Windows and Outlook Search Cache

    Selecting one of the well-known application caches automatically populates the Application Name and, where applicable, the Original Location fields, though these can be overwritten if required.

    To create custom cache settings, leave the default option as Custom and complete the remaining fields as required.

    In addition to roaming the Outlook OST, Skype and OneNote caches as mentioned above, for full Office user roaming you will need to persist additional Registry and File locations. Ivanti provides an Office 2016/365 template with our Personalization Server which is available on the Ivanti Community here: DOC-46793

    Environment Manager Policy only customers can configure File/Registry Actions to persist the required settings within the template to roam the required Office User settings.

    Application Name This is the name for the cache action that will display in the node work area. This value is automatically populated when a specific template is applied but remains editable when the Custom template is selected.
    Original Location

    This field is not applicable to the OneDrive, Windows or Outlook cache templates.

    This folder should not be personalized as it will cause issues when personalization attempts to capture the folder at user log off.

    Local, Network (including UNC paths) and DFS paths can be used and environment and session variables are supported.

    For this action to be successful, the specified folder must not already be present within the profile.
    Where the folder is present, additional actions are required within the configuration. For example, if data is required post production in a migration scenario, actions to either copy the data and delete the folder are required. Alternatively, remove the folder, allowing the action to complete successfully.

    OneDrive Cache (Custom cache location) template
    Experienced administrators can specify a custom location for the OneDrive cache following the syntax prescribed:

    <Volume\folder_location> - <Tenant Name>

    The source folder of the cache files to be roamed. This is automatically populated if you select a template from the drop-down but can be overwritten if required.

    Tenant Name

    This field applies only to the OneDrive Cache template.

    Enter the tenant name for your OneDrive implementation. Environment Manager appends 'OneDrive' to the name entered to form the required folder.

    Redirect Location

    The folder to which the original cache location will be redirected to. If using with a VHD(X) manage action, this should be a path to a sub-folder specified as the VHD(X) Root Folder.

    Local, Network (including UNC paths) and DFS paths can be used and environment and session variables are supported.

    OneDrive Cache (Custom cache location)

    Experienced administrators can specify a custom location for the OneDrive cache roaming data following the syntax prescribed:

    <Volume\folder_location> - <Tenant Name>

    Note this location must be within the same volume as the Original Location.

    Cache Type

    This field is relevant to the Custom cache template settings only.

    Select the Cache Type from the drop-down list.


    Depending upon the cache template selected, additional options are displayed.

    Delete redirection source if it exists

    This option does not apply to Windows and Outlook Search cache templates.
    By default this option is selected.
    If this option is unchecked and data exists in the redirection source the cache roaming will fail. As an administrator, unchecking this option could provide protection against the loss of existing data.

    Automatically roam OneDrive credentials

    This option applies only to the OneDrive cache template. By default this option is selected.
    If this option is not selected users will need to roam credentials via Personalization (by selecting the Security WSG) - or log in to OneDrive each time they log on to a machine.

Additional information - users of configuration merging or mid-session configuration changes

The following information applies to users of VHD(X) Cache Roaming actions and either of the following features:

Configuration merging

Mid-session configuration changes

If you utilize VHD(X) cache roaming actions and configuration merging or applying mid-session configuration changes immediately (via the Advance Configuration Settings dialog), you will need to set the PreventUnapplyOnConfigChange engineering key in the registry. This action is required to enable VHD(X) cache roaming to work correctly following a configuration merge.

The following registry key (and value) will need to be set on the endpoint to a value of 1:

HKLM\Software\AppSense\Environment Manager

Name Type Possible Values Details
PreventUnapplyOnConfigChange DWORD 0 or 1 The default value is 0 (actions are unapplied (reverted) on a configuration change)

Related topics


FTA Roaming

Configuration Endpoint Merging

Advanced Configuration Settings