Single Sign-On (SSO) solutions are quite popular including Citrix own SSO offered with XenApp and XenDesktop. As such there is no surprise that sometimes SSO implementations run into unforeseen challenges when it is quite difficult to use a simple “canned” recipe for SSO to work.

This post presents application SSOHelper successfully used alongside with leading SSO solutions to facilitate proper SSO action when window caption is used as SSO trigger.

The Issues:

  • Application (let’s call it “AppX”) creates windows with default caption that is overridden at run time with specific captions supplied within the AppX code. Although a common delay of 30 to 200 ms in caption replacement creates SSO challenges, most SSO solutions have ability to delay window caption acquisition thus mitigating the issue.
  • A more serious issue arises when AppX developers intentionally or otherwise do not replace the default window caption of the authentication screens targeted by SSO. That circumstance results in false positive window identification producing “ghost typing” in the unintended areas of the program screen.

The solution:

Short of requesting AppX code fix (which is not always feasible), the solution is based on a custom application SSOHelper that is designed to create SSO friendly login screen caption at application load.

SSOHelper.exe is very compact (under 50 Kb), requires no install and is not intrusive to applications it is working with.

Step #1 – Deployment and configuration:

Copy SSOHelper.exe to the target machine that is used to load AppX. For example, use directory


where AppX reflects AppX reference since there might be other applications that need SSOHelper.

Configuration goes into SSOHelper.INI file as follows:

At line one – command line required to execute AppX including full path and switches. For example:

"C:\program files\AppX\AppX.exe" /u:BLA /h:BLA

At line two – put distinct window caption desired for the first AppX login screen, for example
AppX Login Screen

At line three put the delay in milliseconds to wait before the caption change (default is 10).

Save the SSOHelper.INI file next to SSOHelper.exe

Step #2 – In case XenApp publishing is required, publish AppX through SSOHelper.exe:

Command line:


Use standard AppX working directory. For example:

C:\program files\AppX\

Choose appropriate icon, application description, etc.

Step #3 – Implement associated SSO Templates

Use updated SSO templates making sure the login window caption corresponds to the caption set on line 2 in SSOHelper.INI file.

Download link: SSOHelper_1.0.0.1