FAQ: FSLogix Troubleshooting Guide RRS feed

  • General discussion

    • FAQ: FSLogix Troubleshooting Guide

      About FSLogix

      Here is an overview of what FSLogix does.


      • Profile Containers: Put users’ profile folder (\users\<username) in a VHD(x) and connect at logon to roam profiles without streaming.
      • Office Containers: Put users’ Microsoft Office cache files in a VHD(x) and connect at logon to roam Office data without streaming.
      • Application Masking: Provide a mechanism to:
        • Hide or redirect files/folders/registry keys/ registry values
        • Set values for registry values
        • Hide Fonts or Printers
        • Redirect Webpages or Programs to the correct version of Java.
      • Cloud Cache (CCD): Prior to Cloud Cache (CCD) storage for FSLogix was in one SMB location per container type, (though they can be both in the same share with no naming collision by default).
        • The reason for separate shares is that the Profile containers need better performance and backup. The Office container doesn’t need to be backed up since it can be automatically recreated from Exchange mailboxes and OneDrive locations (so, it can be stored on cheaper storage but doesn’t have to be).
        • Now with Cloud Cache (CCD) it can be stored in multiple locations for backup and high availability requirements (2 locations is typical, each additional location causes more overhead and slower performance). They can be SMB or AzurePageBlob locations.




      On the client side there is the FSLogixAppsSetup.exe. There is a Win32 and an x64 version of FSLogix (which must match the bitness of the OS as FSLogix won’t install if mismatched).

      Note: No matter the bitness of .exe files, the x64 FSLogix agent will work with x86 .exes on x64 systems.

      Upgrade procedure:

      1. You can install a newer released version of FSLogix over a previous released version and then reboot after upgrade.
      2. For any other version changes, you need to uninstall FSLogix from Add/Remove programs and reboot before you install the new version.


      You will need to upgrade to one of the two versions below to get support.

      Note: FSLogix previously used two numbering systems for releases, a simple version number, like 2.8.11 and a longer build version, like 2.8.6862.41985. You may find a simple version number online, but the properties of the files it shows the longer build number. The utility frx.exe [c:\programs files\fslogix\apps\frx version] also shows the longer build number. Since the July 2019 FSLogix release, following Microsoft standard naming conventions, releases now show the simple version number plus the year and the month.


      Until the July 2019 release, FSLogix used a license key, but the new version does not require a license key. If you are using an older version [c:\programs files\fslogix\apps\frx validate-key] will show the status of the license. This is also shown at the top of any FSLogix logs files. If your license key is expired, you can use this key [MSFT0-YXKIX-NVQI4-I6WIA-O4TXE] for any current version. This key has no expiration and includes all FSLogix features. Entitlement for FSLogix is now provided via Microsoft via Office and Windows SKUs at: https://docs.microsoft.com/en-us/fslogix/overview#requirements (Most customers with RDP or Office 365 licenses are entitles to use FSLogix).



      Command Line Tools:

      • To see if the agent is running from a command prompt run these commands:

      SC query frxsvc

      SC query frxccds

      (The results should show ‘running’.)

      • To see if the services are running, from a elevated command prompt run this command:


      (The results should show: frxdrv, frxdrvvt, and frxccd in the list returned.)



      FSLogix logs are designed to be intuitive to read and understand. Logs are found at c:\programdata\fslogix\logs and are separated by day. Two days’ worth of logs are retained by default and can be increased by following the instructions from: https://docs.microsoft.com/en-us/fslogix/logging-diagnostics-reference. Logs don’t take much space, so they can safely be set for many more days if needed. Logs can also be redirected to a network share for non-persistent environments. There is one FSLogix log which is outside the normal location - \program files\fslogix\apps for Cloud Cache (CCD).


      Operational Flow:

      Here is an overview of the basic operational flow of Profiles containers and Office containers that can be seen in the FSLogix logs:

      1. User starts logon by entering password, PIN, chip/card etc. Doesn’t matter to FSLogix.
      2. FSLogix is notified very early in the logon process by Windows that the logon is starting.
      3. FSLogix checks to see if the user should be using an FSLogix container. If not, FSLogix lets logon proceed and doesn’t do anything.
      4. If the user should get a container, FSLogix searches for existing VHDs. If they don’t exist, they are created.
      5. The VHDs are connected and the logon proceeds.
      6. As long as the user stays logged on, FSLogix containers stay connected (however, network issues or storage location access issues can cause problems.
      7. User logs off.
      8. Windows notifies FSLogix of log off.
      9. FSLogix flushes buffers and disconnects the VHDs.
      10. Windows finishes the logoff process. Note: Systems that shut the power off and do not allow Windows to go through the normal logoff process can cause corruption issues with containers (as well as other problems).

      Configuration Settings:

      Almost all FSLogix configuration is done through registry settings. FSLogix includes an .admx and .adml  file for GPOs to allow configuration to be handled through Active Directory (AD) Group Policy.

      Note: Some registry settings cannot be set through a GPO as they need to be read too early in the boot process that a GPO can’t set them early enough.

      The key configuration items are:

      • Registry
        • Location to store files
          • VHDLocations or CCDLocations
          • CCDLocations overrides VHDLocations if they are both set.
        • Enabled
      • Membership of Local Group includes users to get FSLogix containers.
        • Note: by default, everyone is put into the include group. Typically, administrators should be manually added to the Exclude group. There is an Include and Exclude group for Profiles and Office containers.
      • Difference of multiple sessions on same machine vs. across machines.
        • Multiple sessions on the same machine are handled by the Windows OS. FSLogix just connects the VHDs on the first session.
        • Concurrent sessions across different servers:
          • Concurrent sessions – ConcurrentUserSessions reg value.
          • Profiles – ProfileType reg value
          • Office – VHDType reg value

      Configuration references are found at:



      Profile containers and Office containers can be used together. Profile containers alone will do everything Profiles containers + Office containers together will do, but the VHD(x) file can get very large (mostly Outlook .OST file and OneDrive cache) and customers may want have them separated. Office containers can also work with other profile management solutions (such as: Microsoft roaming profiles, Microsoft UPD, Citrix UPM, Citrix WEM, VMWare UEM, Ivanti AppSense or RES.)


      • To check that a user is getting an FSLogix profile, from command prompt run the following command:

      C:\program files\fslogix\apps\frx list-redirects (you can also list-rules)

      (The results should show the paths that are an alternate way of referencing the drives on a machine; HardDiskVolue2 is typically, the c: drive. the location of the VHD is after the =>.)

      • If something seems strange, to check the details on the names run the following commands from a elevated command prompt:

      fltmc volumes


      • List volume
      • List vdisk
      • You can also use Disk Manager to see if the disks show as attached.

      The profile disk by default is named Profile-<username>

      Note: on multi-user systems this command will show the redirections for all users logged on to the system and there for the list can be quite long.

      Troubleshooting Profiles:

      • Where are the files are going? Are they going to the FSLogix VHD or somewhere else?
      • Is another profile solution in use? If so, is it putting files the files in another location?
      • Try adding a drive letter to the FSLogix disk and browse to it to see if it contains what you expect. A profile should look like a profile. Exactly the same files and folders. When you are done, you can remove the drive letter, but don’t disconnect the drive or will crash session.
      • FSLogix creates a local_<username> folder when a user is logged on with an FSLogix profile. There are default files in this folder that should be removed at logoff. If not, FSLogix will try to remove these files at the next logon. Files in the folder will be deleted at logoff and can keep the Profile VHD from growing larger with temp files. User can control other file locations with redirections.xml (see https://social.msdn.microsoft.com/Forums/windows/en-US/029e130e-5892-4d1f-88a7-f8046d78f3b0/using-redirectionsxml-to-configure-what-to-copy-to-a-profile-with-fslogix?forum=FSLogix).
      • Do a quick scan of relevant logs (Profile, Office, and Search logs). These logs when in proper operation almost never have errors (most common exception: [ERROR:0x80070005]    SHSetKnownFolderPath error (Error: 2147942405 / Access is denied.). Other logs can have errors which are benign, so you typically don’t need to look at those other logs unless they appear to be directly related to a feature causing a problem. (See https://docs.microsoft.com/en-us/fslogix/fslogix-error-codes-reference)

      Office container

      Office containers work almost the same as Profile containers. So, the same general troubleshooting steps apply. Some differences are listed below.

      • To check that a user is getting an FSLogix Office container, from command prompt run the following command:

      C:\program files\fslogix\apps\frx list-redirects (you can also list-rules)

      (The results should show the paths that are an alternate way of referencing the drives on a machine; HardDiskVolue2 is typically, the c: drive. the location of the VHD is after the =>.)

      Note: For the Office container there can be additional items redirected if there are additional Office components being used. And, on multi-user systems this command will show the redirections for all users logged on to the system and there for the list can be quite long.

      Office container disk default name is O365-<username>.

      Note: FSLogix Office container works with all versions of Office above Office 2013 whether the traditional versions or from Office 365.

      Office containers attach to many different locations in the profile. These depend on the features which are enabled. The feature to handle some Microsoft Office components are enabled by default and others are not (See: https://docs.microsoft.com/en-us/fslogix/office-container-configuration-reference).


      Application Masking and Folder Redirection

      FSLogix is built on the key components of registry, file, and folder manipulation. The drivers watch calls to the file system and registry and can act on those calls if they match the criteria for the rule to be applied.

      Criteria for a rule to be applied can be:

      • File/folder/reg key/reg value name or path
      • Assignment by user/group/IP address, etc.

      FSLogix Masking and Redirection allow items like the following to be configured depending on the rule and how it is assigned:

      • Icons and folders and files will be hidden or not.
      • Registry keys and values will be hidden or not.
      • Registry values will be changed or not.
      • Access to files, folders, registry keys and values can be redirected from one location to another.

      These actions allow you to configure results such as:

      • Installed programs to be hidden.
      • Different versions of the same program to be installed on the same machine and users to only see one or the other when they logon.
      • Allowing different users to ‘see’ the same registry value with different values.
      • Allowing programs that generally only work for one user because of the way they store data, to work for multiple users.

      FSLogix rules are created with the editors and consist of a pair of files placed in the \program files\fslogix\Rules folder, which are processed by the FSLogix service.

      • .fxr is the rule file.
      • .fxa is the assignment file.

      The files in the rules folder stay the same, but new compiled rule files for the driver to read and enforce, are placed in the \program files\fslogix\CompiledRules folder.

      • .fxc – the rule file
      • .fxac – the assignment file

      The compiled files are also readable and can be compared to the test files. Some rules can have a wild-card character [*] but they are not sub-string wildcards. They only replace a full segment of the path whether in the registry or the file system.

      Troubleshooting rules:

      • Validate that the compiled files of the rules exist.
        • Compare the compiled rule files to the test files to ensure they are the same. Sometimes the rule editor doesn’t work for special situations. Remember that compiled rule files can be edited by hand. Make sure that tabs are included in any file you manually edit as the tabs are required to parse rule files.
      • Validate that the order of assignments is correct.
        • In the assignments, keep in mind that rules are evaluated top to bottom, so the last rule going down the list which the current user ‘fits’ will determine whether or not the rule is applied. The assignment is tied to: a user, a group, or an IP address, to determine whether the rule should be applied for a user.
      • Environment variables can be used in paths as long as they exist on the system when FSLogix needs to use them.
        • Sometimes Environment variables only get set after the shell is open for their path to the users Profile VHD. So, that won’t work since FSLogix attaches the VHD for the Profile before the Shell is operating. If FSLogix can’t find the VHD file because the path has an environment variable which is not defined, the user can’t logon.

      See Also:

      Search Troubleshooting

      Outlook Search Troubleshooting Guide

    Monday, July 29, 2019 11:00 PM

All replies

  • Great article!

    Does it work on Server 2019 ? 

     It works on Windows 2016 as expected however on Srv 2019 it does not and even the TS steps don't help

    any suggestions ?


    Tuesday, December 17, 2019 8:23 AM

    • Note: FSLogix Office container works with all versions of Office above Office 2013 whether the traditional versions or from Office 365.

    You say:  Note: FSLogix Office container works with all versions of Office above Office 2013 whether the traditional versions or from Office 365.

    So this means Office 2013 is not supported. Is there any reference for this statement? I see lots of articles where people successfully use FSLogix with Office 2013. Thanks

    • Edited by Marzzie Monday, July 13, 2020 11:29 AM
    Monday, July 13, 2020 11:26 AM
  • Hi Micah, 

    Thanks for the article. it is very informative. How does FSLogix handle sessions where the user is disconnected due to an Idle timeout (through RDP, or WVD connections) and subsequent logoff by the maxdisconnect time limit. We have some users who experience login issues, and after investigation we learn that the failure to login is due to the fact their sessions were disconnected, once we force logoff their sessions they can login again. The error we receive is as follows:  Status: 0x0000000C, Reason: 0x00000000, Error code: 0x00000020 .

    Our ConcurrentUserSessions is set to 0.

    Appreciate some insights, 


    Thursday, August 20, 2020 4:59 PM
  • Hey Micah! 

    Any idea why the RuleEditor would crash/disappear when I hit scan on a program files path?  Not seeing anything in the logs, and I have a couple pieces of software that I would really like to hide from certain users.  The rule editor works great for some better known programs, but just seems to bomb out on the couple that I really need it for.  


    Thursday, November 12, 2020 6:39 PM