3

We have a WPF ClickOnce application that needs to be deployed both directly to user-desktops via ClickOnce (which works fine) AND as a Citrix Published Application (not a published desktop).

This citrix forums post has some discussion but no obvious answer to the problem.

If we just 'publish' a ClickOnce URL (from IE, for example) I don't understand how it would work - where does the executable get downloaded to? Even if it works, does every unique Citrix user download the application to unique disk locations?

A ClickOnce link might look like this, and trigger a boostrapper EXE that downloads the latest application EXE before starting it up. This seems difficult to do with the 'published application' model, which I think wants to point to a single, existing EXEcutable to run...

http://webservername/foldername/ApplicationName.application#ApplicationName.application

Does anyone know if it is definitely impossible? Or if possible, how to make it work?

UPDATE: we are using .NET 3.5 SP1

Conceptdev
  • 133
  • 1
  • 1
  • 6

3 Answers3

3

Couple things here.

When working with ClickOnce apps, pay particular attention to your profile situation. As of .NET Framework 3.0 you could not run ClickOnce apps with mandatory profiles. This was supposed to be remedied in .NET 3.5 but I haven't had the opportunity to verify that claim.

If you're using roaming profiles you have a couple options here. If you're running your TS in relaxed security mode, each user would download the ClickOnce app if you published it as an argument to Internet Explorer and run it out of their profile. In enhanced security mode, the TS will not allow the executable to run.

The second option would be to run it out of an Application Streaming profile if you have that feature available to you. You can then either pre-stage the ClickOnce app during the profile or give the users a streamed IE with relaxed security turned on for that streaming profile only and they would be able to download it themselves.

Ben Kohn
  • 136
  • 3
  • Thanks - we normally err on the side of 'high security'. I will have to read up on Application Streaming... what do you mean by "pre-stage"? – Conceptdev Jul 27 '09 at 23:51
  • That will make more sense once you understand some basic concepts about Application Streaming. Here's an article from the Citrix KB: http://support.citrix.com/article/CTX112526 that explains the feature. Essentially, you do what the user would do upon first-run in such a way that when the next user opens the streamed application, the first-run process is already done for them. – Ben Kohn Jul 28 '09 at 16:40
  • This worked! "each user would download the ClickOnce app if you published it as an argument to Internet Explorer and run it out of their profile". Now we are finding that a ClickOnce WPF app is awfully resource hungry on a Citrix server... but that's another story :) THANKS – Conceptdev Aug 06 '09 at 05:38
0

I am a developer and we create a non clickonce package (set of files) specifically for citrix. Can you please give more details on how you configured IE (passing arguments, running out of their profile etc). I can then hopefully take this to our citrix administrators for them to understand and see feasibility of doing it.

softveda
  • 193
  • 1
  • 10
0

I have a little Workaround for this:

  • create a separate Account
  • Log in into the account and install the clickonce Application
  • You'll find an *exe-file in the Appdata folder of this user. For me it was in %userprofile%\Appdata\local\2.0{string}{string}{clickoncename}. The path will certainly differ depending on installed application.

  • Create a new hidden share for this folder and give access to all users that should use the published Application.

  • publish the *exe-file over the hidden share

  • be happy that it works! :D