我们有一个需要部署的 WPF ClickOnce 应用程序两个都通过 ClickOnce 直接发送到用户桌面(效果很好)并作为 Citrix 发布的应用程序(不是已发布的桌面)。
这Citrix 论坛帖子有一些讨论,但没有对问题的明显答案。
如果我们只是“发布”一个 ClickOnce URL(例如从 IE),我不明白它将如何工作 - 可执行文件会下载到哪里?即使它有效,每个唯一的 Citrix 用户都会将应用程序下载到唯一的磁盘位置吗?
ClickOnce 链接可能看起来像这样,并触发 bootstrapper EXE,在启动之前下载最新的应用程序 EXE。这似乎很难用“已发布的应用程序”模型来实现,我认为它想要指向一个现有的可执行文件来运行...
http://webservername/foldername/ApplicationName.application#ApplicationName.application
有人知道这是否绝对不可能吗?或者如果可能的话,如何实现它?
更新:我们正在使用.NET 3.5 SP1
答案1
把这两件事放在一起。
使用 ClickOnce 应用时,请特别注意配置文件的情况。从 .NET Framework 3.0 开始,您无法使用强制配置文件运行 ClickOnce 应用。这个问题应该在 .NET 3.5 中得到解决,但我还没有机会验证这一说法。
如果您使用漫游配置文件,则这里有几个选项。如果您在宽松安全模式下运行 TS,则每个用户都会下载 ClickOnce 应用(如果您将其作为 Internet Explorer 的参数发布)并从其配置文件中运行它。在增强安全模式下,TS 将不允许可执行文件运行。
第二种选择是,如果您有该功能,则可以使用应用程序流配置文件来运行它。然后,您可以在配置文件期间预先准备 ClickOnce 应用程序,或者为用户提供流式 IE,并仅为该流式配置文件打开宽松的安全性,这样他们就可以自己下载它。
答案2
我是一名开发人员,我们专门为 citrix 创建了一个非 clickonce 包(一组文件)。您能否提供有关如何配置 IE 的更多详细信息(传递参数、用尽其配置文件等)。然后我希望可以将此信息提交给我们的 citrix 管理员,让他们了解并了解这样做的可行性。
答案3
针对此问题,我有一个小的解决方法:
- 创建单独的帐户
- 登录账户并安装clickonce应用程序
您会在该用户的 Appdata 文件夹中找到一个 *exe 文件。对我来说,它位于 %userprofile%\Appdata\local\2.0{string}{string}{clickoncename}。路径肯定会因安装的应用程序而异。
为此文件夹创建一个新的隐藏共享,并授予所有应使用已发布应用程序的用户访问权限。
通过隐藏共享发布 *exe 文件
很高兴它能起作用!:D