As with any Citrix XenApp farm, you will need to publish applications. Most applications are either installed or copied to the XenApp servers, and all you need to do is point to the executable when publishing that application (granted there may be numerous other settings that may need to be done for the application to work properly). But, every now and then there are those pesky applications that reside on an “application” server that is just an executable and that executable for some reason has to live on that “application” server.
So, to bring happiness to your users you publish this executable that resides on another server. The program launches just fine when you are connected to the XenApp server with a full desktop, but when you launch the program as a published application, it fails. The problem is with a Citrix XenApp feature named Application Installation Check.
The Application Installation Check verifies the executable is present before returning it to the user. That is fine, but this feature uses the Local System account to check for this executable. There is the problem since the Local System account doesn’t have access to this executable since it resides on the network, the application fails to launch. You have 2 options for this issue:
Option #1 - Create a batch file that launches the remote executable
Option #1 solves the problem by keeping the launched executable local (the batch file). The batch file then launches the remote executable. To do this, create a batch file in a location you choose (I usually use C:\Program Files (x86)\[Application Name]\[Application Name].cmd) with the .cmd file extension. Open the file with notepad or some other text editor of your choice and add the following lines:
NET USE [Drive Letter]: \\[UNC path to executable directory]
Start [Drive Letter]:\[Executable name]
Option #2 - Disable Application Installation Check
Option #2 solves this issue by disabling the Application Installation Check, so you can publish the application in XenApp referencing the UNC path without having to worry about pesky drive mappings (Better yet, enable Microsoft’s DFSN to create a namespace, so if the application is ever moved to a different server, the UNC path will remain the same and everyone is happy but that is a different topic altogether). To disable Application Installation Check in XenApp 6.5 perform the following:
Download and install the Citrix XenApp 6.5 PowerShell SDK on the XenApp servers (this gives you the ability to perform many functions via PowerShell).
Launch PowerShell shortcut just installed in your Start menu under the Citrix program folder (actually the shortcut is a few sub-folders beneath the Citrix program folder) as an Administrator.
Enter the following command (substitute [brackets] with the information asked within the brackets, don’t type the brackets themselves):
4. To verify the command was successful, type the following:
5. You should see the variable LoadBalancingApplicationCheckEnabled set to false.
Why I prefer option #2, is for 2 reasons:
You don't have to worry about mapped drives
You don't have to worry about creating and managing batch files