Configuration Setting Reference

This article outlines the various registry settings applicable to FSLogix that includes, but not limited to:

  • App Services
  • Profile containers
  • ODFC containers
  • Cloud Cache
  • Logging

Default settings

After installing FSLogix, the installer will create a base set of registry keys and values which provides the framework for adding configuration settings. FSLogix doesn't create ANY configuration setting value names as part of the installation. Any configuration setting listed on this page which has a 'Default value' doesn't need to be created or configured as FSLogix will automatically use the default value as listed.

For example, the RoamIdentity setting has a default value as '0'. FSLogix will not roam identities as a default behavior and doesn't need an Administrator to create or add the registry value name and value. Only if the desire is to change the default behavior of the setting would the Administrator create or add the registry value name and value.

Base registry keys and value names

  • [HKEY_LOCAL_MACHINE\SOFTWARE\FSLogix]
    • \Apps
      • "InstallPath"="C:\Program Files\FSLogix\Apps\"
      • "InstallVersion"="version_number"
    • \Logging
    • \Profiles
    • \SystemInfo
    • \Telemetry
    • \UserModeDll
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\FSLogix]
    • \ODFC

Custom environment variables

Some FSLogix settings will accept environment variables. These settings will accept the list of custom environment variables and any variables available during the user's sign in.

FSLogix custom variables:

Variable Description
%username% SAMAcountName for the signed in user.
%userdomain% NETBIOS domain name where the user's account resides.
%sid% Security Identifier
%osmajor% Major version of the operating systems as seen in: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentMajorVersionNumber
%osminor% Minor version of the operating systems as seen in: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentMinorVersionNumber
%osbuild% Build version of the operating systems as seen in: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber
%osservicepack% Legacy to Windows service packs, no longer used.
%profileversion% Version of profile based on Windows version.
%clientname% The COMPUTERNAME of the client initiating the connection to the host.

App Services Settings

The following settings are applicable to FSLogix and not specific to profile or ODFC containers or Cloud Cache.

CleanupInvalidSessions

Registry Hive: HKEY_LOCAL_MACHINE

Registry Path: SOFTWARE\FSLogix\Apps

Value Name: CleanupInvalidSessions

Value Type: DWORD

Enabled Value: 1

Disabled Value: 0 (default)

In cases where a user's session terminates abruptly, the VHD(x) mounted for the user's profile isn't properly detached and the user's next sign in may not successfully attach their VHD(x) container. Enable this setting and FSLogix attempts to clean up these invalid sessions and allow a successful sign-in. This setting affects both Profile and ODFC containers.

RoamRecycleBin

Registry Hive: HKEY_LOCAL_MACHINE

Registry Path: SOFTWARE\FSLogix\Apps

Value Name: RoamRecycleBin

Value Type: DWORD

Enabled Value: 1 (default)

Disabled Value: 0

When enabled, this setting creates a redirection for the user's specific Recycle Bin into the VHD(x) container. This allows the user to restore items regardless of the machine from where they were deleted.

VHDCompactDisk

Registry Hive: HKEY_LOCAL_MACHINE

Registry Path: SOFTWARE\FSLogix\Apps

Value Name: VHDCompactDisk

Value Type: DWORD

Enabled Value: 1 (default)

Disabled Value: 0

When enabled, this setting attempts to compact the VHD disk during the sign out operation and is designed to automatically decrease the Size On Disk of the user's container depending on a predefined threshold. For more information, see the VHD Disk Compaction documentation.

FSLogix Settings (Profile, ODFC, Cloud Cache, Logging)

Profile container Settings

The following settings are applicable to profile containers and are created in the following location:

  • Registry Hive: HKEY_LOCAL_MACHINE
  • Registry Path: SOFTWARE\FSLogix\Profiles

AccessNetworkAsComputerObject

Type: DWORD

Default Value: 0

Data values and use:

  • 0: default – attach as user.
  • 1: attach as computer - folder must have permissions for computer objects.

Caution

Do not use this configuration setting unless your storage provider or architecture will NOT work with user-level permissions to the VHD(x) container locations. This setting will allow the virtual machine to access all the VHD(x) files on the storage provider creating a potential security risk.

AttachVHDSDDL

Type: REG_SZ

Default Value: N/A

Data values and use:

SDDL string representing the ACLs to use when attaching the VHD(x).

CleanOutNotifications

Type: DWORD

Default Value: 1

Data values and use:

  • 0: No action.
  • 1: Cleans out stale notification entries.

This setting cleans out stale entries created by the Windows Push Notification Platform (WPN) and Windows Notification Facility (WFN) which under some conditions leads to slow sign-ins.

DeleteLocalProfileWhenVHDShouldApply

Type: DWORD

Default Value: 0

Data values and use:

  • 0: No action.
  • 1: Deletes local profile if exists and matches the profile container.

Important

When FSLogix determines a user should have an FSLogix profile container, and a local profile exists, FSLogix will permanently delete the local profile.

DiffDiskParentFolderPath

Type: REG_SZ

Default Value: %TEMP%

Data values and use:

Specifies the path where difference disks are created when ProfileType is configured to use them. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Enabled

(required setting)

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Profile containers disabled.
  • 1: Profile containers enabled.

FlipFlopProfileDirectoryName

Type: DWORD

Default Value: 0

Data values and use:

  • 0: SID folder is created as %sid%_%username%
  • 1: SID folder is created as %username%_%sid%

Important

Be sure you understand how conflicting settings are applied and prioritized.

  • This setting will OVERRIDE both SIDDirNameMatch and SIDDirNamePattern
  • This setting has NO EFFECT when NoProfileContainingFolder is enabled
  • NoProfileContainingFolder > FlipFlopProfileDirectoryName > (SIDDirNameMatch and SIDDirNamePattern)

IgnoreNonWVD

Type: DWORD

Default Value: 0

Data values and use:

  • 0: FSLogix is enabled for any session.
  • 1: FSLogix is enabled for Azure Virtual Desktop (AVD) sessions only.

Note

Windows Virtual Desktop (WVD) is now known as Azure Virtual Desktop (AVD), though the name of the setting uses the legacy name.

InstallAppxPackages

Type: DWORD

Default Value: 1

Data values and use:

When enabled (1), this setting reads the AppxPackages.xml manifest file from the user's profile and installs / re-registers the list of applications. The AppxPackages.xml file can be found at: %LocalAppData%\FSLogix\AppxPackages.xml. This setting does control the global behavior in Windows for all AppX applications. This only improves functionality when used with FSLogix.

Warning

The AppxPackages.xml file is not meant to be edited or modified. Editing this file may cause unexpected results and the file is overwritten at each sign out.

IsDynamic

Type: DWORD

Default Value: 1

Data values and use:

  • 0: VHD(x) is of a fixed size and the size on disk is fully allocated.
  • 1: VHD(x) is dynamic and only increases the size on disk as necessary.

Note

  • This setting is used with the SizeInMBs setting to manage the size of profile containers. Setting IsDynamic to 1 causes the Profile container to use the minimum space on disk, regardless of the allocated SizeInMBs. As space is consumed, the size on disk grows up to the size specified in SizeInMBs. SizeInMBs is the maximum size that a user is allowed to use on disk. If the user's profile container grows beyond what is specified in SizeInMBs the user experiences errors.
  • Setting IsDynamic to 1 does NOT allow the Profile container to grow larger than what is specified in SizeInMBs.

KeepLocalDir

Type: DWORD

Default Value: 0

Data values and use:

  • 0: The local_%username% is deleted during sign out.
  • 1: The local_%username% folder will be left on the system, after sign out. It's also used again if the same user signs on.

LockedRetryCount

Type: DWORD

Default Value: 12

Data values and use:

Specifies the number of retries attempted when a VHD(x) file is locked (open by another process or computer).

LockedRetryInterval

Type: DWORD

Default Value: 5

Data values and use:

Specifies the number of seconds to wait between retries (see LockedRetryCount).

NoProfileContainingFolder

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: Profile container doesn't use or create a SID containing folder for the VHD(x) file.

This setting is intended for situations where storage provides a location that is already unique per-user.

Important

Be sure you understand how conflicting settings are applied and prioritized.

  • This setting will override ANY OTHER setting related to container folders.
    • SIDDIRNameMatch has NO EFFECT when used in conjunction with this setting.
    • SIDDIRNamePattern has NO EFFECT when used in conjunction with this setting.
    • FlipFlopProfileDirectoryName has NO EFFECT when used in conjunction with this setting.

OutlookCachedMode

Type: DWORD

Default Value: 1

Data values and use:

  • 0: Prevents FSLogix from doing anything with cached mode.
  • 1: Only when the Profile container is attached, the Outlook setting that enables cached mode is temporarily set until the container is detached. This setting ensures cached mode is used only when the container is attached.

Important

  • Outlook must be configured for online mode for this feature to work. This insures if FSLogix gets disabled, that large OST files won't be downloaded.
  • Online mode registry entry: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\office\16.0\Outlook\OST\NoOST:DWORD = 2.
  • FSLogix will override this setting for the current user.

PreventLoginWithFailure

Type: DWORD

Default Value: 0

Data values and use:

When enabled (1) FSLogix loads the FRXShell if there's a failure attaching to, or using an existing profile VHD(x). The user receives the default prompt to call support, and the users only option is to sign out.

PreventLoginWithTempProfile

Type: DWORD

Default Value: 0

Data values and use:

When enabled (1) FSLogix loads the FRXShell if it's determined a temp profile has been created. The user receives the default prompt to call support, and the users only option is to sign out.

ProfileDirSDDL

Type: REG_SZ

Default Value: N/A

Data values and use:

SDDL string representing the ACLs to use when creating the profile directory.

ProfileType

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Normal profile behavior.
  • 1: Machine should only be the RW profile instance.
  • 2: Machine should only be the RO profile instance.
  • 3: Machine should try to take the RW role and if it can't, it should fall back to a RO role.

Important

  • All sessions trying to use the VHD concurrently must have a matching ProfileType setting. If the VHD isn't accessed concurrently, ProfileType should be 0.
  • OneDrive does not support multiple simultaneous connections / multiple concurrent connections, using the same profile, under any circumstances. For more information, see Use the sync app on virtual desktops.

ReAttachRetryCount

Type: DWORD

Default Value: 60

Data values and use:

Specifies the number of times the system should attempt to reattach the VHD(x) container if it's disconnected unexpectedly.

ReAttachIntervalSeconds

Type: DWORD

Default Value: 10

Data values and use:

Specifies the number of seconds to wait between retries when attempting to reattach the VHD(x) container if it's disconnected unexpectedly.

RebootOnUserLogoff

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: Reboot when any user signs out.
  • 2: Reboot when a FSLogix profile user signs out.

RedirectType

Type: DWORD

Default Value: 2

Data values and use:

  • 1: Use legacy redirection.
  • 2: Use FSLogix advanced redirection.

RedirXMLSourceFolder

Type: REG_SZ

Default Value: N/A

Data values and use:

Path where FSLogix looks for the redirections.xml file to copy from and into the user's profile. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process. For example, C:\Windows\System32 or \\<server-name>\<share-name>

Note

Do not add the file name to the path. This setting is a folder path only.

RemoveOrphanedOSTFilesOnLogoff

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: Duplicate OST files are deleted during sign out.

Note

In rare cases, duplicate OST files are created for a user. This circumstance has been documented to occur with and without the use of a non-persistent profile. When the profile is stored in the standard file system, administrators may remove orphaned or stale OST files by deleting them. When using FSLogix the OST file is in the container and isn't as visible. Over long periods of time duplicate OST files may consume incremental disk space. When enabled (1) FSLogix will delete all OST files in a VHD(x), except the OST with the latest modify date. Administrators should be familiar with the use of OST files, and potential implications, before choosing to enable this setting.

RoamIdentity

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Don't roam credentials and tokens within the container.
  • 1: Enables legacy roaming for credentials and tokens created by the Web Account Manager (WAM) system.

Under some identity and authentication scenarios, user's may be required to authenticate to their Microsoft 365 applications at every sign-in. Enabling this setting is one way to resolve the issue. We recommend working towards true single sign-on which allows your Windows sign-in to pass it's credential to your Microsoft 365 applications.

Important

  • The default setting is to not roam the credentials or tokens which is the preferred setting. While this may not be the ideal configuration for some customers, we created this setting to provide customers a way to roam these items similarly to FSLogix v2201 hotfix 2 (2.9.8228.50276).
  • Do NOT enable this setting if you use Microsoft Intune to manage your devices.

RoamSearch

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: Enable single-user search.
  • 2: Enable multi-user search.

For more information, see Configure Windows Search database roaming.

Important

  • FSLogix search roaming functionality is no longer necessary in newer versions of Windows1
  • RoamSearch is set prior to GPOs being applied, it is not possible to rely on GPOs to set RoamSearch in environments where a GoldImage is applied at boot.

1 Windows Server 2019 version 1809 and later, Windows 10 and 11 multi-session

SetTempToLocalPath

Type: DWORD

Default Value: 3

Data values and use:

  • 0: Disabled.
  • 1: Redirect TEMP and TMP to the local drive.
  • 2: Redirect INetCache to the local drive.
  • 3: Redirect TEMP, TMP, and INetCache to the local drive.

ShutdownOnUserLogoff

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Disabled.
  • 1: Shutdown when any user signs out.
  • 2: Shutdown when a FSLogix user signs out.

SIDDirNameMatch

Type: REG_SZ

Default Value: %sid%_%username%

Data values and use:

Specifies a string pattern used when matching a profile or ODFC container folder. Use this setting to define how FSLogix attempts to locate a users profile or ODFC container. FSLogix uses the VHDLocations or CCDLocations as the location where to search and this setting defines what to search. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Important

Be sure you understand how conflicting settings are applied and prioritized.

  • When using this configuration setting, be sure the SIDDIRNamePattern value matches this setting.
    • This setting has NO EFFECT when FlipFlopProfileDirectoryName is enabled.
    • This setting has NO EFFECT when NoProfileContainingFolder is enabled.
    • NoProfileContainingFolder > FlipFlopProfileDirectoryName > SIDDirNameMatch (this setting)

SIDDirNamePattern

Type: REG_SZ

Default Value: %sid%_%username%

Data values and use:

Specifies a string pattern used when creating a profile or ODFC container folder. Use this setting to define how FSLogix attempts to create a users profile or ODFC container folder. FSLogix uses the VHDLocations or CCDLocations as the location where to create and this setting defines what to create. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Important

Be sure you understand how conflicting settings are applied and prioritized.

  • When using this configuration setting, be sure the SIDDIRNameMatch value matches this setting.
    • This setting has NO EFFECT when FlipFlopProfileDirectoryName is enabled.
    • This setting has NO EFFECT when NoProfileContainingFolder is enabled.
    • NoProfileContainingFolder > FlipFlopProfileDirectoryName > SIDDirNamePattern (this setting)

SIDDirSDDL

Type: REG_SZ

Default Value: N/A

Data values and use:

SDDL string representing the ACLs to use when creating the SID container folder.

SizeInMBs

Type: DWORD

Default Value: 30000

Data values and use:

Specifies the maximum size of the user's container in megabytes. Newly created VHD(x) containers are of this size. Existing containers are extended automatically to this size during user sign in. You can increase this value at any time, but can't decrease it. Decreasing this value doesn't cause existing VHD(x) containers to shrink.

VHDNameMatch

Type: REG_SZ

Default Value: Profile*

Data values and use:

Specifies a string pattern used when matching a users profile container. Use this setting to define how FSLogix attempts to locate a users profile container (VHD(x) file). FSLogix uses the VHDLocations or CCDLocations as the location where to search and this setting defines what to search. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Important

When using this configuration setting, be sure the VHDNamePattern value matches this setting.

VHDNamePattern

Type: REG_SZ

Default Value: Profile_%username%

Data values and use:

Specifies a string pattern used when creating a users profile container. Use this setting to define how FSLogix attempts to create a users profile container (VHD(x) file). FSLogix uses the VHDLocations or CCDLocations as the location where to search and this setting defines what to create. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process.

Important

When using this configuration setting, be sure the VHDNameMatch value matches this setting.

VHDLocations

(required setting)

Type: MULTI_SZ or REG_SZ

Default Value: N/A

Data values and use:

A list of SMB locations to search for the user's profile VHD(x) file. If one isn't found, one is created in the first listed location. If the VHD path doesn't exist, it's created before it checks if a VHD(x) exists in the path. The path supports the use of the FSLogix custom variables or any environment variables that are available to the user during the sign in process. When specified as a REG_SZ value, multiple locations must be separated with a semi-colon (;).

VHDXSectorSize

Type: DWORD

Default Value: 0

Data values and use:

  • 0: Uses system default.
  • 512: VHD(x) is formatted using 512 byte allocation.
  • 4096: VHD(x) is formatted using 4096 byte allocation.

Note

Values are listed in decimal not hex.

VolumeType

Type: REG_SZ

Default Value: vhd

Data values and use:

A value of vhd means that newly created files should be of type VHD. A value of vhdx means that newly created files should be of type VHDX.

VolumeWaitTimeMS

Type: DWORD

Default Value: 20000

Data values and use:

Specifies the number of milliseconds the system should wait for the volume to arrive after the VHD(x) has been attached. Default value of 20000 = 20 seconds