views:

994

answers:

2

Our company uses Citrix to remote into a terminal server for remote users to launch smart client apps within a virtual window on their machine.

The problem is that smartclient apps are being downloaded each time the user launches them eventhough the version on the remote citrix server has not change. This is due to the user's profile being purged each time they close their Citrix session.

Is there any way to avoid this and still continue to purge the user's profile? Not purging the profile leads to wasted space on the citrix servers and corrupt profile issues.

+2  A: 

I can't speak to details on Citrix servers. However, with ClickOnce you have no say over where an application is installed. It's installed under the user profile, no ifs, ands, or buts. One of the major goals with ClickOnce was improved security and installing apps to the profile makes that easier. So, if you're clearing the profile, you're stuck.

However, couldn't you just deploy the app to the Citrix server without ClickOnce? Most .Net apps can just be xcopy deployed, so it seems it would be pretty easy to write a few batch files to copy the latest deployment to your Citrix server and skip ClickOnce all together.

whatknott
Certainly something to look at - thanks for the suggestion.
ScottCher
A: 

The way to do this in the Citrix environment is to use the Citrix URL Content redirection feature (in Feature Release 2) to redirect the ClickOnce URL to the local machine (http://xxx.xxx/myapplication.application). This will cause the browser window to open on the local machine and not on the Citrix machine. Once this happens, ClickOnce takes over and installs on the local user's machine, instead of inside Citrix. Executing locally will still give you all the normal ClickOnce benefits.

You don't want to install inside Citrix due to the problems in 'whatknotts' answer. Plus, ClickOnce doesn't support mandatory or temporary profiles, which is probably what the user has inside Citrix.

Tim Cochran
This defeats our purpose for using CITRIX in the first place. These are remote user (really remote) so using it locally has performance impacts that are at least partially solved with Citrix. This is why they are launching the app in CITRIX and not locally.
ScottCher