I use the Flex Profile Kit whenever I’m involved in a Terminal Services/Citrix project. I enjoy the fact that I can use a base mandatory terminal server profile and yet allow the user to personalize their profile based on registry settings I specify within an INI file. I find I spend less time troubleshooting corrupt profile issues, but on occassion, a bit of troubleshooting is required to correct an issue with the base mandatory profile or the logon/logoff process.

Today was one such occassion. On this particular case, the following error occured when a user logged off of their Citrix session:

WOW! What in the world is going on? To date, the hardest task we’ve had is to enter additional registry keys into the INI file to keep up with new software or save Outlook signatures, etc, you know, basic day-to-day admin stuff, we’ve not had what I would call any serious issues.

After checking the basics, I decided to enable “advanced PROFLWIZ logging” in the Framework.ini configuration file. To enable error messages from ProflWiz, use the DISPLAY_PROFLWIZ_ERROR setting. The potential values for DISPLAY_PROFLWIZ_ERROR are shown below, I used DISPLAY_PROFLWIZ_ERROR=2 to see both the progress indicators and any error messages.

DISPLAY_PROFLWIZ_ERROR=0: Run in quiet mode; do not display progress indicators or error messages. This setting is recommended for normal operation.

DISPLAY_PROFLWIZ_ERROR=1: Display error messages; suppress progress indicators.

DISPLAY_PROFLWIZ_ERROR=2: Display error messages and progress indicators. Use this setting only for troublshooting, the Profile Wizard will run much slower.

DISPLAY_PROFLWIZ_ERROR=3: Display progress indicators; suppress error messages. The Profile Wizard will run much slower.

After setting the preferred value, login with a user account experiencing the problem. When using the FPK, Proflwiz runs at logon and logoff. When DISPLAY_PROFLWIZ_ERROR has been enabled, you will see a little Microsoft Office Profile Wizard window which tells you exactly what Proflwiz is doing. In this case, at least initially, Proflwiz was experiencing problems when saving the TileWallpaper setting as shown below:

Like most companies, the Citrix servers were in their own OU, with their own restrictive policy. For ease of troubleshooting, I set the “Hide Specified Drives” and “Prevent access to the Command Prompt” GPOs to Not Configured. This way, I could manually execute the FlexLogoff.bat file without logging off.

After removing the key HKCU\Control Panel\Desktop\TileWallpaper from the settings INI file, Proflwiz was able to get past TileWallpaper, but then failed at Wallpaper… Anyway there were several spots at which Proflwiz failed, those points and their fixes are listed here:

Fix TileWallpaper: Remove HKCU\Control Panel\Desktop\TileWallpaper
Fix Wallpaper: Remove HKCU\Control Panel\Desktop\Wallpaper
Fix BorderWidth: Remove HKCU\Control Panel\Desktop\WindowMetrics
Fix ActiveBorder: Remove HKCU\Control Panel\Colors
Fix NoUpdateCheck: Move HKCU\Printers under [IncludeRegistryTrees] section

I hope this helps should you have to troubleshoot issues with the Flex Profile Kit. Remember to set the DISPLAY_PROFLWIZ_ERROR value back to 0, and reenable any GPOs that were set to Not Configured to ease the troubleshooting.