Citrix Profiling Gotchas: Network Based Applications

Intro

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.

Issue

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.

Solutions

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:

http://forums.citrix.com/message.jspa?messageID=1390770

http://forums.citrix.com/message.jspa?messageID=1480938

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
WshShell.Run \\SERVER\SHARE\PROGRAMS\APPLICATION.EXE

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.

Thanks,
Alain

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s