In a brief evaluation of Citrix Workspace Environment Manager, I looked at the utility of the product to replace Group Policy Preferences (GPP) in a XenApp environment context. For this I focused on replacing a set of registry keys we apply via GPP for our XenApp environment. My results were not favorable for using WEM in this context for the Registry portion as WEM pushes processing of it’s entries into the ‘shell’ session. For XenApp, the Shell session is typically applied quickly and so the application may launch without those keys present (which is bad — the application needs those keys present first). So although logon times maybe reduced, this scenario does not work for the Registry portion. We are still exploring the effects of WEM and whether some other components that operate synchronously within GPP are needed. Can these components be moved to WEM? One of the big ‘wins’ for this approach maybe Drive Mappings, which apply synchronously and requires the Drive Mappings to be processed before allowing a user to logon. Moving this to WEM may be a win worth exploring… IF the application doesn’t require drive mappings before being launched. But that’s for another article..
However, for the registry portion of WEM we did encounter a few ‘gotcha’s worth mentioning if you are going to use WEM.
WEM does not do ‘Registry Binary’ keys.
Well… it says it does. And it kind of does. But odds are you are not going to get the results you expect.
Looking at a simple REG_BINARY key it contains data is displayed as ‘hexadecimal’ data.
If I want to use WEM to apply this key, I would create an entry within WEM:
However, when I apply this key I get a completely wrong result. Why? Because WEM is applying the hexadecimal code in the ASCII field of the REG_BINARY
In order to get WEM to apply the code properly we would need to copy/convert the ASCII from the REG_BINARY.
However, I have bad results doing so:
Why is this wrong? WEM stores everything as XML. And XML files do not like storing binary or non-ascii data. WEM stores these values as their ASCII representations and not REG_BINARY representations so if your REG_BINARY (which, there’s a 99% chance) contains a non-ASCII character it will fail to apply the key properly.
Even worse, during my time fiddling with this, I BROKE WEM.
If the ASCII representation of “&#x1” or whatever was set it caused WEM to crash when applying the values. So REG_BINARY’s are completely out. In my limited testing, we only had 1 REG_BINARY to apply, but in our environment we use GPP to apply 5 different REG_BINARY keys. So using WEM for these applications is right out. I filed and asked Citrix for a ‘feature enhancement’ to support applying REG_BINARY’s properly, but I was told this was operating as expected so I’m not holding my breathe but this does limit the utility of WEM.