为使用 C# 和 MySQL 开发的应用程序向客户提供软件更新的方式

Posted

技术标签:

【中文标题】为使用 C# 和 MySQL 开发的应用程序向客户提供软件更新的方式【英文标题】:Ways of providing software updates to customers for applications developed in C# and MySQL 【发布时间】:2011-01-07 22:15:35 【问题描述】:

我们有一个用 C#.Net 开发的产品。它不是 Web 应用程序,而是桌面版本。它连接到各种数据库,如 MSSQL、mysql 等。

我们会不断升级软件版本,以修复错误并提供新功能。 这些更新更改了所使用的 exe 和 dll 以及数据库。

我们想知道我们可以使用哪些不同的方法向客户提供更新。

【问题讨论】:

使用术语“更新”而不是“升级”搜索 *** 以获得更多点击。 【参考方案1】:

考虑使用 ClickOnce 部署您的应用程序。让您的用户轻松地从 Web 服务器安装应用程序,并且它具有自动更新支持。它与视觉工作室集成,只需按一下按钮即可生成您需要的东西。

【讨论】:

这似乎是最好的第一步。它不仅与 Visual Studio 集成,还是 Visual Studio 的一部分。【参考方案2】:

嗯,有几种不同的路径可供选择。

简单:只需提供覆盖先前安装的新安装程序即可。准备好后向客户发送电子邮件,或者直接将其放在您的网站上。

中级:在您的应用中提供“检查新版本”功能,将其版本号与从您身边的网络服务检索到的版本号进行比较。启动浏览器下载它并在必要时运行安装程序...

最佳(恕我直言): 为您创建一个包装应用程序。当他们单击您的图标时,实际上会启动此包装器。它会检查新版本(每隔几周再次检查一次),如果一切正常,则启动主程序。如果存在更新,则为用户提供下载它的选项。下载文件并替换真实的应用程序。然后启动它。顺便说一句,这非常接近 Firefox 模型。

【讨论】:

在最后一个场景中,如何处理数据库更新,例如创建/更改或新表以及配置数据的更新。 客户端上也有数据库吗?那不完全是“客户端/服务器”。无论如何,包装器也可以检查更新的 DDL 文件。当它看到一个时,它应该在启动应用程序之前针对它的本地实例运行它。这应该在每次部署之前进行认真测试。

以上是关于为使用 C# 和 MySQL 开发的应用程序向客户提供软件更新的方式的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Gmail 的 SMTP 客户端在 C# 中向自己发送电子邮件,而无需在 Gmail 设置中启用安全性较低的应用程序的访问权限?

服务器应该如何向富客户端推送数据

如何使用 WhatsApp Api 从企业向客户发送消息 [关闭]

C# 如何向连接到我的服务器的所有客户端发送数据?

C# Async Webserver - 如何向客户端发送数据

C# - 关于服务器向客户端发送推送通知的设计问题 - 如何实现?