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
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.
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.
I have a little Workaround for this:
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