Finally found some time to write about an interesting thing I discovered during one of my latest projects. With XenApp 6.5 and previous versions it was possible to configure a specific screen resolution in your application configuration this function isn’t available in XenApp/XenDesktop 7.x (Studio).
My customer had a specific use case to run a Published Desktop in a certain screen resolution. When searching for an available solution on the Internet, I came across several articles/blogs for XenApp 6.5, then I found this article from Citrix support: https://support.citrix.com/article/CTX116357 describes how to configure the special screen resolution within StoreFront for Published Apps and Desktops.
I’ve created an additional Desktop with the specific screen resolution name, this way the normal desktop is still available for use with the Desktop Viewer.
You’ll have to turn off the “Show DesktopViewer” in the StoreFront configuration, you can configure this in the console or in the web.config file as described in the CTX support article.
Stores, Manage Receiver for Web Sites, Configure, Client Interface Settings,
- Edit the web.config file located on the StoreFront server in the C:\inetpub\wwwroot\Citrix\storeWeb
- In the web.config file, locate the following line:
Modify the value from true to false
So according to the support article I’ve configured the application to start with a specific screen resolution in the default.ica file located on the StoreFront server:
[Production Desktop 1024×768]
Now we should be good to go and test the specific screen resolution for this Desktop.
But directly after login the desktop is displayed in a full screen window.
So for troubleshooting purpose I started the Desktop again and instead of launching the Desktop directly I downloaded the .ica file to see what’s in the .ica file:
Production Desktop 1024×768 $S1-3=
[Production Desktop 1024×768 $S1-3]
There is a suffix behind the Published desktop name in my case: $S1-3
This bring us back to the default.ica file on the StoreFront server add the suffix “$S1-3” to the application name in your default.ica file:
[Production Desktop 1024×768 $S1-3]
Now login again on the StoreFront server or Netscaler Gateway (don’t forget to replicate the changes if you have multiple StoreFront servers) start the Desktop with the specific screen resolution and there you go:
The disadvantage of configuring Published Desktops with specific screen resolution is that all your desktops will now launch in a full screen mode unless you specify a specific screen resolution in the default.ica file. This is because “Show Desktop Viewer” is turned off in the StoreFront configuration.
For your “normal” desktop you can solve the issue by adding the following configuration to your default.ica file”:
[Production Desktop $S1-3]
You have to configure this in the default.ica file for each Published Desktop if you don’t want to run it in Full Screen mode.
In my example above I downloaded the .ica file from the StoreFront website that’s not the easiest way to find the correct name of your Desktop. During the project I had contact with Citrix Support and they couldn’t tell me away to find the correct name of the published Desktop. In the support article they refer to the following command: “Get-BrokerApplication -ApplicationName” this command will only display the Published Applications not the Published Desktops.
When trying to resolve another problem I found the following Powershell Command: Get-BrokerEntitlementPolicyRule
This command will list the BrowserName (Published Desktop name) that must be used in the default.ica file.
If you take a good look at the suffix at the end of the application name it consist of the following parts:
S1= DesktopGroudUID; this number will changes if you add more delivery groups.
3= Uid; Uid number from the Desktop “application” if you add another Published Desktop to the delivery group it will increase the Uid and the new application number has number 4.
Some additional information:
Starting from Citrix XenApp 7.6, Citrix has changed the way that the WFAPI returns a “Published Desktop” name. The “Published Desktop” name is now returned as the “BrowserName”.