One of the common questions or really frustrations is why can’t the stupid profile just roam across OS versions and bitness – meaning between both OS versions and across x86 and x64.  And while the idea of a single profile is an optimal approach, there are some challenges to be overcome.  And in reality, often it’s not necessarily the entire profile that needs to be roamed but just the settings related to certain applications that tend to be installed across OS versions.

Applications like Microsoft Office and Adobe Acrobat Reader to name a couple.  Most business line apps will be relegated to a few or one OS in order to improve supportability.  I suspect most IT shops always want to support these apps on the fewest OSes as possible from an efficiency perspective – preferrably just one OS.  But apps like Office always end up having to be supported on just about every OS in your organization.  So let’s break this down and talk about files first and then the registry settings.

All the files in your profile are either under \Documents and Settings\USERNAME or \Users\USERNAME.  Ultimately application data in the profile is what’s at issue here. In Microsoft’s v1 profiles (XP and Server 2003) there is \Application Data\ and \Local Settings\. In Microsoft’s v2 profiles (Vista, 2008, 2008 R2 and Win7) there is now a single root folder \AppData\ that contains \Local\ and \LocalLow\ and \Roaming\.

While for the most part all the things that use to be in v1’s \Local Settings\ landed in v2’s \AppData\Local or \AppData\LocalLow\ ( and \Application Data\ to \AppDat\Roaming) it’s not necessarily a direct mapping … some apps changed the way they stored their data. And I’m not clear on the selection criteria for storing data in targets like \Local\ and \LocalLow\. Maybe someone else is knows??

Most other data like My Documents, Favorites and Cookies would roam just fine (and thus great candidates for Folder Redirection), but a lot of the Application Data may be at risk by being moved where the app can no longer find it. Probably for the most part harmless and the app would just recreate settings from default. And of course if that happens, the user loses some settings.  Not good.

As for the registry (NTUSER.DAT), here is another big challenge.  Sharing settings between Windows x86 and x64 might work, but there will probably be some issues.  There are several reasons, but here is one example provded by Helge Klein:

  • Per-use file associations are stored in HKCU\Software\Classes. If a non-Admin sets Firefox as his default browser, the following is stored on a 32-bit system:
  • HKEY_CURRENT_USER\Software\Classes\FirefoxHTML\shell\open\command -> “C:\Program Files\Mozilla Firefox\firefox.exe” -requestPending -osint -url “%1”

If a profile containing above path is used on 64-bit Windows, the OS would look for a 64-bit version of Firefox, which does not exist. Instead, there will probably only be a 32-bit version of Firefox installed to C:\Program Files (x86)\Mozilla Firefox. Result: the Browser cannot be started. This also happens the other way round (path set on x64 and used on x86).

So if the machines are not exactly alike (e.g. same 32-bit apps on 64-bit and not the 64-bit counterpart apps) then problems will likely start surfacing.  This challenge also exists for version differences in the applications themselves.  Office 2007 for example -- while most settings roam no problem, there are some that will ‘damage’ an Office 2003 install.  In other words, if you roam settings between machines, the machines really need to be application version/bitness identical.  If not identical, you might be able to address some of this with app isolation/streaming and isolate those settings or at least the ones that conflict between app versions.  But then that means some settings will need to be reconfigured by users since they will be isolated.  Again not good.

So as always it certainly can be done … the hard part is not enabling this to occur – it’s getting it to actually work right once settings roam.

We actually do have a technology preview of a cross-platform settings capability -- we are exploring this technology and are in need of some feedback from the field. Essentially this is a capability to allow admins to define settings in the profile that may roam from one OS to another. E.g. Settings for AppA are supported on 2003, 2008, XP and Win7. Settings for AppB are only supported on XP and Win7. Etc.

Unfortunately it’s not something we can offer to everyone on a broad basis so we will only be able to accept a few requests. Its purpose is not to create a singular profile but enable application specific settings to roam across OS versions – applications like Office that typically need to be supported on a number of OS versions. It is a limited preview as we are limited in the ability to broadly support it (basically I am front line support). And there are key questions we want answered from any evaluators outlined below. If interested, drop me an email (surely you’ve figured out the secret email address format at Citrix ).  If you are able to commit to actively testing per the below guidelines over the next month or so, I would gladly consider accepting you into this testing group. But unfortunately I will not be able to accept everyone.

Our primary focus for this is getting insight into the admin experience (is it a viable way to handle these types of settings) and to better understand what apps (and types of apps) are likely to be supported across OSes. We expect this to primarily be apps like Office and Adobe Reader but want to make sure we understand all such apps .

The evaluation can be done with as few as two machines (e.g. 2003 and 2008 XA servers and using XD with XP and Vista/Win7). But you probably want to have at least one machine to represent each OS you plan on roaming settings across.

What are the results we expect from evaluations:

  • Validation we are easy enough to use for admins
  • Validate we have the minimal configuration set for apps that will roam across platforms (e.g. Office, Acrobat Reader, WinZip etc).
    • Customers can extend to other apps. Citrix needs to ensure we have sufficient ones identified and pre-defined to provide out of box experience.
    • If you are using other apps besides the ones we pre-packaged, please itemize those for us for consideration.