A few weeks ago I was in Phoenix having lunch with (non-tweeting) Hal Lange and Joe Shonk of Thin Client Computing, and over a meat loaf sandwich (which I assume is native Phoenix food), I listened to their stories from the trenches. One such story was about the fact that Citrix Sharefile doesn't work on Citrix XenApp, at least not in the way most of us would like to see. I asked Hal to contribute some information, and what follows is an amalgam of my thoughts, Hal's procedures, and Citrix's own documentation for getting it to work in a limited capacity.
Out of the box, ShareFile doesn't work at all with XenApp. While I can't find a reason for this, I assume it has to do with local sync and multiple simultaneous users, or perhaps the server OS itself. Whatever the case, local synchronization, among other things, is not possible. With some effort, though, ShareFile can be made to in an On-Demand Sync manner where files are shown in a folder then synchronized down to a client as needed.
According to CTX136078, you'll need to download an ADM template be able to switch on On-Demand sync. Once you've imported the ADM template, you'll see that the group policy is where you configure the ShareFile account name, whether or not you log in with ShareFile credentials or AD SSO, and whether or not users are allowed to synchronize information at all. You'll also need to specify a local path for the files to live. This file can be a variable, like %username%\ShareFile, but it cannot be a UNC path or reside on a network drive. That means that even if it had full sync capabilities, it wouldn't make much difference because the files can only be stored locally, and who stores data locally on their XenApp servers?
It's worth noting that these can also be set via editing the registry, too, but the bottom line is that they have to be done before you install ShareFile. Also of note is that the ADM template is only for Server 2008 R2, although I suspect you can create your own or edit the registry manually for other versions of Windows. If you're curious, the registry keys used are (from the Citrix post):
- Use 0 for Single sign-on, this will use the current Windows’ user authentication.
- Use 1 to prompt for user credentials.
- Account (REG_SZ): The ShareFile account name.
- AuthenticationType (REG_DWORD):
- On-demandPersonalFolder (REG_DWORD): Set this value to non-zero to setup user's Personal folder as On-demand sync.
- On-demandFolderIds (REG_MULTI_SZ): List of ShareFile Folder Ids that will be synchronized on demand. Administrators are expected to use the Main App to get the folder IDs of the shared folders.
- LocalSyncFolder (REG_SZ or REG_EXPAND_SZ): Path to the fixed local drive. Removable media and network shares are not allowed. Environment variables are supported but must set the value type to REG_EXPAND_SZ.
- SharedFolderIds (REG_MULTI_SZ): List of ShareFile Folder Ids. Administrators are expected to use the sharefile.com website to get the folder IDs of the shared folders.
- On-demandSyncDiskVolume (REG _SZ): This must match the LocalSyncFolder’s root drive letter in order to enable On-demandSyncDiskVolume (that is - "C:\")
After installing the software, you'll have to rebuild the user profiles on the machine. That's probably not that big of a deal in a XenApp environment if they're destroyed at logoff, but I mention it here so you don't expect it "just work." Frankly, we wouldn't need an article about this if it "just worked." :)
According to Hal, the last caveat is to make sure that ShareFile has the right permissions after installing the software. To do this, he offers up these steps:
- From an elevated command prompt, run: “Sc qsidtype ctxSharefile”
- If that command doesn't output "SERVICE_SID_TYPE: UNRESTRICTED" Run "Sc sidtype ctxSharefile unrestricted" to change the service SID type.
- When that's done, restart the ShareFile Sync Service
What I find hard to believe is that as robust a solution as ShareFile is, Citrix hasn't found a way to get it working in what remains their most popular desktop virtualization platform. Remember, this is only for on-demand sync! Perhaps this could all change in the coming weeks as Citrix gears up for Synergy. It could also be that Citrix is simply nudging people towards using ShareFile Storage Zones Connector for enterprise-wide mobile data and cloud sync.
I will admit that I don't know if other data mobility solutions out there suffer from the same problem of not being able to support file sync to a network drive from XenApp sessions, mainly because I never considered that it would be an issue. If you know of other solutions that are either fully-functional or don't work at all, let us know. Also, if you're a ShareFile shop, is this a big deal? Do you simply use the Storage Zones Connector instead?
Thanks again to Hal for pointing out the problem and passing along a solution. (If you can call it a solution, that is :)