Applixure Agent can be installed on a Terminal Server or Remote Desktop Session Host (RDSH) Server that provides end-users with published desktops or applications.
This publishing can be implemented using Microsoft's built-in capabilities or using 3rd party enhancements such as Citrix's XenApp/XenDesktop, but additional step must be taken by the administrator to configure the server to allow Applixure Agent to fully function in scenario when individual applications are published from the server and not just the full desktops.
Please note that if users are always accessing full desktops running regular Windows Explorer from the server, this configuration does not need be taken.
Publishing seamless, or individual applications, through remote desktop connection causes RDSH server to not load regular explorer.exe process into the user's session. This is because seamless applications do not need a full desktop, and thus the Explorer process is unnecessary.
In context of Applixure Agent, this has a side-effect of preventing Agent's user-session specific helper process (ApxUserContextHelper.exe) from loading since in the regular scenario the Explorer.exe will load this process as part of the login process, using entry in the HKLM\Software\Microsoft\Windows\Run -registry key. Since explorer.exe is not being run at all when RemoteApp applications are started, any of the startup programs normally processed by the Explorer will be skipped as well.
Applixure Agent uses the per session context process to perform various user-specific monitoring actions that cannot be achieved from the main Agent process that runs as a background service in the machine. This is by design based on security isolation implemented by Windows.
While the Agent will perform otherwise fully without per session process(es) running in the various user sessions in the RDSH server, part of the application usage information and all of the user experience issue detection will be left out providing only partial data to the service. For this reason, administrators must manually configure certain settings on a server to enable Agent's helper process to load into RemoteApp sessions.
Configuring RSDH Server to execute user-session process in all logon types
Windows provides a capability to start additional processes for all logon sessions by using Userinit -mechanism. Normally, this mechanism only starts the built-in userinit.exe process that is responsible for starting up the rest of the user's UI but some 3rd party products may replace this mechanism if they provide alternate logon experience to the user.
Userinit is configured through the registry key HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon and registry value Userinit.
Applixure user-sesion helper can be added to Userinit as an additional process that server will start for all user sessions, regardless if Windows Explorer is started or not later on.
You can make this modification manually by adding a new entry for user session helper's executable after existing entry:
C:\Windows\system32\userinit.exe, "C:\Program Files\Applixure\ApxUserContextHelper.exe",
NOTE: The trailing comma must be present!
Another, recommended, option is to use the tool we provide attached to this article that does this operation automatically and can both register and unregister user-session process executable into aforementioned registry location.
The tool requires administrator -rights to execute as the registry location is not modifiable for regular users.
The usage for configuration tool is:
ApplixureTerminalSetup.exe -register for adding the necessary entry to the registry.
ApplixureTerminalSetup.exe -unregister for removing it.
Note that the tool does not make any changes to the registry value if its existing data is something it cannot fully understand. In those cases, administrator must manually make necessary adjustments to add or remove Applixure's entry in it.