How to develop Electron application which is Citrix compatible


#1

Hello,

the company im working for wants a new Client for there product. One of the requirement is that the new Client can be published via Citrix and every user should work on he’s own workspace.
In the old client this is fixed by providing parameters (wildcards) when the app starts and set the location of the workspace.

Is this even possible with Electron?

I tried to find source on how to develop an application which can be published with Citrix, but didn’t find anything.

Thanks


#2

AFAIK the app itself is living in the user space (e.g. on Windows it is usually installed into \AppData\Local\App-Name). Also check out the path options here: http://electron.atom.io/docs/v0.32.0/api/app/#app-getpath-name. These are basically also working on a per-user-profile basis.

Hope this helps, regards
Andreas


#3

Thanks, i will take a look into it.

Can you tell if an Electron application can run inside Citrix?


#4

@danielstorch I have Atom running via Citrix, which works without problems.

Like @appelgriebsch points out, you usually let the app be installed under the user’s account folders, but that’s by no means necessary.

For Citrix, you should have the app itself be installed in a central place, such as Program Files, and the user-specific files (configs, temporary data etc) under the user’s profile, using whatever the underlying OS’s dynamic environment variables are for user profile locations.

So if Atom is a good representative example, publishing an Electron-based app isn’t a problem, as long as you design it this way.


#5

Atom is a good example thanks!

But how do i design the application properly so i can run with Citrix? Which parts have to be configured? Maybe you have a link/tutorial?


#6

To my knowledge, there isn’t a tutorial for writing an Electron app with Citrix in mind.

But like I said, the most important part to remember is the separation of central app files all users will have to share (which you don’t have to worry about, as Terminal Services / RDS handles that on behalf of Citrix), which you install in a location that is not user-dependent, say Program Files or C:\ or whatever, versus user-specific files which you should store in that user’s User Profile location (ideally using environment variables).

You don’t have to do anything beyond that, to make the app work on Citrix. Citrix takes care of the multiple user sessions accessing the same program files. You will just want to make sure user-specific files are dynamically retrieved from their profile folders.

Edit:
The only other thing I can think of right now, is to make sure Electron apps work fine on the Windows OS you run your Citrix session hosts on! That should be tested first, for which you can use Atom again.


#7

Perfect, thanks!