Overview
In this article we will point out some issues and solutions.
Issues and solutions
Citrix app redirects to Netscaler page when you click it the first time
Explanation: when you click a Citrix app the first time, it redirects to the Netscaler page. When you click the app the second time, it goes to the app as expected.
Solution: this is caused by an incorrect responder configuration. Review your responder policy and responder action configuration. Additionally, you can use the browser console to verify if a TASS cookie is retrieved, which we use for the responder policy and action. If there's no TASS cookie, review the responder policy and action.
The screen is stuck on: "We are launching your Citrix application, please hold on..."
Explanation: it could happen that your Citrix application is not started and you will see that it's stuck on the message above. In that case, start the developer console of your browser. Usually this is done by the F12 key. Check what kind of error message is displayed in the "Console".
Solution 1: if you recently updated the Citrix storefront, make sure you also update the Receiver for HTML5 SDK.
Solution 2: in the browser console, you see the error message: "Failed to load resource: the server responded with a status of 404 (Not Found)" CitrixHTML5SDK.js:1. This error message tells you that the HTML5SDK is not installed. Please try to download and install the Receiver for HTML5 SDK. Choose the "Receiver SDK 2.x.x for HTML5".
Solution 3: in the browser console, you see the error message "Unauthorized". Check if you installed the newest version of Workspace 365 AppLauncher (Citrix). If it is installed, go to the applaucnher.js code to line 84. You should see:
if (name === "CitrixAGBasic" || name === "IntegratedWindows") {
Change this to;
if (name === "CitrixAGBasic") {
or;
if (name === "IntegratedWindows") {
Now, you can try to open the app again (make sure the user has permission to open the app).
Solution 4: in the browser console, you see the error message appLauncher:197 "Bad launch status". Ensure the application name does not contain any spaces. Check both app names: the app name in the Workspace's App store and the published app name in the Citrix StoreFront. If needed, recreate the application in the Workspace App store.
The URL is case sensitive
Explanation: the error above can also occur when the URL is incorrect.
Solution: be aware that the last part of the URL (e.g. /Citrix/StoreName) is case sensitive.
Workspace opens the wrong Citrix XenApp application
Explanation: in the Workspace you can configure an app name, containing the Citrix URL, e.g.:
"citrixurl/Workspace365AppLauncher.html?appname=Moneydance"
When opening an application, you are redirected to the Citrix Storefront page. After authentication by the NetScaler Gateway, you are redirected to the intended application, in this case Moneydance. It could be that a wrong application opens after some idle time (e.g. 30 minutes), for example the previous opened Citrix application. This is due to the session policy value.
Solution:
In some cases, clearing the browser cookies may resolve this.
Increase the value of the session policy, e.g. 30 minutes to 720 minutes.
Wrong (previous) application opens
Explanation: it could happen after clicking on a remote app/tile in the Workspace, the previous used application opens. This is due to the NCS_TASS cookie set by the Netscaler. This cookie will be set by Netscaler if authentication is required based on the referral. But this only happens when the cookie is not pressent. This will cause issues with expired sessions, as the authentication will be redone, but the cookie content will not be updated.
Solution: remove the cookie or to create a rewrite policy, explained here.
"RelayState in Response does not match with rule in Action. Please contact your administrator"
Explanation: this error is caused due to a change from Citrix. Check your FQDNs in the Relay State rule (Ref.: https://support.citrix.com/article/CTX316577).
Solution: the Relay State Filter expression below will work together with Workspace 365:
AAA.LOGIN.RELAYSTATE.EQ("https://portal.mijndomein.nl/") || (AAA.LOGIN.RELAYSTATE.LENGTH.EQ(0) && HTTP.REQ.HOSTNAME.EQ("portal.mijndomein.nl"))