Profile Management

Enable UWP app load acceleration

Deploying Microsoft UWP apps in a Citrix® environment can increase Windows logon time. By default, Windows saves UWP app registration data locally on each machine. In non-persistent environments, that data can be lost after a restart.

With the Enable AppX package load acceleration policy enabled, Profile Management creates a virtual disk container for each machine to store the UWP app registration data. This feature accelerates the loading of UWP apps and prevents data loss on machine restarts.

Starting with version 2603, Profile Management provides automatic detection and recovery for AppRepository database corruption when the AppX package load acceleration feature is enabled. For more information, see Automatic StateRepository recovery.

Enable the policy using a GPO

Detailed steps are as follows:

  1. Open the Group Policy Management Editor.
  2. Access Policies > Administrative Templates: Policy definitions (ADMX files) > Citrix Components > Profile Management > Advanced settings.
  3. Double-click the Enable AppX package load acceleration policy.
  4. In the policy window that appears, select Enabled.
  5. Enter a UNC path for storing the UWP registration data. Make sure that the path is accessible to domain computers.
  6. Click OK.

The configuration precedence is as follows:

  1. If this setting isn’t configured using a GPO, Studio, or Workspace Experience Management (WEM), the value from the .ini file is used.
  2. If this setting isn’t configured anywhere, this feature is disabled.

For your changes to take effect, run the gpupdate /force command from the command prompt as documented at https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/gpupdate.

Verify app load acceleration

After enabling the policy, follow these steps to verify app load acceleration is working:

  1. Check functionality:

    1. Open Disk Management (diskmgmt.msc) to verify whether the container storing the UWP app registration data is attached.
    2. Confirm that C:\ProgramData\Microsoft\Windows\AppRepository is redirected to the attached disk by creating a temporary folder and checking whether it appears on the attached disk.
  2. Verify performance acceleration:

    Use the Logon Analysis tool in the WEM Admin Tool Hub or ControlUp’s logon duration script to measure the time taken during the Appx Package Load phase.

Automatic StateRepository recovery

Automatic StateRepository recovery is automatically enabled when the AppX package load acceleration feature is active and an AppRepository container store path is configured.

When AppX package load acceleration redirects the AppRepository database to a container, the AppRepository database can occasionally become corrupted due to OS upgrades, unexpected shutdowns, or storage issues.

Previously, resolving this issue required manual intervention. Profile Management now automatically:

  • Detects AppRepository database corruption in real time by monitoring Windows Event Log entries (Event IDs 100, 270, and 272).
  • Recovers using a progressive three-stage strategy without requiring user or administrator action.
  • Continuously monitors for corruption throughout the service lifecycle.

View log messages

Recovery progress is recorded in Profile Management logs. Look for the following messages:

  • Starting background monitoring for AppRepository database integrity...
  • AppRepository database corruption detected. Recovery stage: N
  • Recovery Stage N completed.
  • All automatic recovery attempts exhausted. Corruption persists. Manual intervention required.

Verify corruption events

You can verify corruption events in Event Viewer:

  1. Open Event Viewer.
  2. Go to Applications and Services Logs > Microsoft > Windows > StateRepository > Operational.
  3. Look for Event ID 100 (Error), Event ID 270 (Critical), and Event ID 272 (Critical).

What to do when auto-recovery fails

If all automatic recovery attempts are exhausted, do the following:

  1. Check Profile Management logs for recovery attempt history.
  2. Verify that the AppRepository container path is accessible.
  3. Review Windows Event Log for the frequency of Event IDs 100, 270, and 272.
  4. Check system event logs for underlying storage or disk errors.
  5. Stop the Profile Management service, delete the corrupted container file, and restart the service. A new container is created automatically.
  6. If corruption occurs repeatedly, investigate potential hardware or storage issues.
Enable UWP app load acceleration