如何通过Citrix使.NET ClickOnce应用程序成为“已发布的应用程序”?

我们有一个WPF ClickOnce应用程序,需要通过ClickOnce(工作正常)和Citrix发布的应用程序( 不是已发布的桌面)直接部署到用户桌面。

这citrix论坛post有一些讨论,但没有明显的答案的问题。

如果我们只是“发布”一个ClickOnce URL(例如IE),我不明白它是如何工作的 – 可执行文件下载到哪里? 即使它运行,每一个独特的Citrix用户下载应用程序到唯一的磁盘位置?

一个ClickOnce链接可能看起来像这样,并触发一个boostrapper EXE,在启动之前下载最新的应用程序EXE。 这似乎很难做“已发布的应用程序”模型,我认为这个模型要指向一个现有的EXEcutable来运行…

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

有谁知道这是绝对不可能的? 或者如果可能的话,如何使它工作?

更新 :我们正在使用.NET 3.5 SP1

夫妻在这里

使用ClickOnce应用程序时,请特别注意您的个人资料情况。 从.NET Framework 3.0开始,您无法使用强制configuration文件运行ClickOnce应用程序。 这应该是在.NET 3.5中弥补,但我没有机会来validation这一说法。

如果您使用的是漫游configuration文件,则可以在这里select一些选项。 如果您在轻松的安全模式下运行您的TS,每个用户将下载ClickOnce应用程序,如果您将其作为参数发布到Internet Explorer并将其运行到其configuration文件外。 在增强的安全模式下,TS将不允许可执行文件运行。

第二个选项是将它从Application Streamingconfiguration文件中运行出来,如果你有这个function的话。 然后,您可以在configuration文件过程中预先设置ClickOnce应用程序,也可以仅为该streamconfiguration文件启用放宽安全性的stream式IE,并且可以自行下载该应用程序。

我是一名开发人员,我们专门为citrix创build了非clickonce包(文件集)。 你可以请给你更多的细节,如何configurationIE浏览器(传递参数,用尽他们的configuration文件等)。 然后我希望能把这件事交给我们的Citrixpipe理员,让他们了解并看到这样做的可行性。

我有一个解决方法:

  • 创build一个单独的帐户
  • login到帐户并安装clickonce应用程序
  • 你会在这个用户的Appdata文件夹中find一个* exe文件。 对于我来说,它是%userprofile%\ Appdata \ local \ 2.0 {string} {string} {clickoncename}。 path肯定会因安装的应用程序而有所不同。

  • 为该文件夹创build一个新的隐藏共享,并授予应该使用发布的应用程序的所有用户的访问权限。

  • 将* exe文件发布到隐藏的共享上

  • 很高兴,它的作品! :d