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