Citrix Profiling Gotchas: Network Based Applications


I’ve been making the transition from Microsoft Application Virtualization (App-V) to Citrix Streaming recently and came across an issue involving an application that was on a network share.  This post will cover a work-around to stream an application residing on a network share.


We received the request to stream a client-server application.  The client install was straightforward with just a couple of DLL’s resident on the local system (Profiler).  I quickly found out that the client install must be initiated from the server, otherwise all the file locations were local instead of pointing to the server.  I also found that the install did not create a local EXE to launch from the Profiler, but instead assumed that you would create a shortcut from the server.  During the “profiling” (I think sequencing is a better word) I found that the Citrix Profiler is not aware of network locations and if I added a shortcut that pointed to the remote server and attempted to launch it, it would fail.


I quickly turned to Google to find how to get around this issue. I suspect there is more than one way to skin a cat in this instance, but I used information I found in these 2 Citrix forum threads:

Work Around

I first tried to use the SUBST command to create a local mapping to the network share and perform the sequencing.  This failed to work in my case, so I created a VBS script that would be called by the published application.  In order to do this, I first created a shortcut to wscript.exe before I started the sequence.  I then added the shortcut to the profile after installing the application and used that shortcut as the published application in the stream.  When I did this, I set the additional command-line to ** (double asterisks).

When I published the streamed application, I put a UNC path to the following VBS script I wrote.

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.CurrentDirectory = \\SERVER\SHARE\PROGRAMS

This configuration allows portions of the client application to be streamed, while still running the EXE from a network share.

Please review the above forum posts and as always I welcome any comments or questions.


Documentation: Citrix Streaming Recipe Template

I recently changed jobs and they use Citrix Application Streaming to package applications.  In my previous job we used Microsoft App-V and had great success with it.  One of the cornerstones of that success was (that thorn in the sides of many a system administrator/engineer) documentation.

Softgrid (and then Microsoft) provided a basic template that documented the steps to sequence an application.  Since then, many individuals and companies have provided their own version of this document.  Since I had never used Citrix Application Streaming, I wanted to find a template to work from and document my first application.  I failed to find anything (please suggest any in the comments section below), but did stumble upon, written by Falko Gräfe.  Falko has created one of the most complete and detailed App-V sequencing templates I’ve seen.  You can get it here.

I used this template for my own purposes and modified it to use with Citrix Application Streaming.  Please offer any feedback in the comments section, so we can improve the template.