.net - 是否有人使用 ClickOnce 技术在生产中分发应用程序

标签 .net clickonce

两年前我尝试使用 ClickOnce 安装,但遇到了问题:

  • 应用程序因错误而无法启动
  • 对文件系统的访问受到限制

后来我看到google Chrome是使用ClickOnce在本地获取安装包,然后开始真正的安装

ClickOnce 是否可以从服务器下载文件并保存在本地?

最佳答案

我的公司已经使用 ClickOnce 三年多了,我们有数千名客户安装了多个产品(桌面和 Office 加载项),几乎没有遇到任何问题。我们确实有签名证书,因为我们所有的客户都是外部的,它可以向他们保证安装来自受信任的来源。

此外,如果使用自动更新和桌面应用程序(不适用于 VSTO),更改签名证书的问题已在 .NET 3.5 中修复,并且在 .NET 4 中的所有情况下均已修复。并且有针对这些情况的解决方法这仍然是一个问题。

ClickOnce 的巨大优势是能够发布更新并让用户自动获取更新,而且更新是增量式的。如果您的应用程序访问数据库,这一点尤其重要,并且您需要确保用户在将更改部署到数据库时更新应用程序。

如果您有 ClickOnce 应用程序并且在启动时遇到错误,则需要尝试从 ClickOnce 缓存运行 [exe] 并确定问题是出在您的应用程序中还是部署中。

我不确定您所说的从服务器下载 ClickOnce 并在本地保存文件是什么意思。如果您指的是部署本身,它就是这样做的。如果您的意思是它可以从其他地方下载文件并将其保存在本地,那么当然可以。我们的应用程序使用 WebClient 上传和下载文件。

请注意,ClickOnce 应用程序不会为所有用户安装,并且您无法写入程序文件。如果您使用其他文件,则需要将它们填充到 LocalApplicationData 中。我们的应用程序在 LAD 文件夹下创建一个缓存并在那里保留信息,这对我们来说效果很好。

关于.net - 是否有人使用 ClickOnce 技术在生产中分发应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3519132/

相关文章:

azure - 设置 WPF 桌面应用程序的持续部署

ClickOnce将 '.application'文件显示为XML

.net - 如何检查数字是否为 .NET 中的整数?

Java 和 .NET : Base64 conversion confusion

visual-studio-2013 - ClickOnce 先决条件 : where is SQL Server Express 2014 LocalDB?

visual-studio - Visual Studio 在发布时崩溃

c# 将 3 个集合列表合并为一个列表

c# - LINQ 从子列表中选择

c# - 从虚拟 PC 访问本地 Azure 应用程序以进行跨浏览器测试

visual-studio-2010 - 如何在 ClickOnce 中重命名安装文件?