为使用 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 从企业向客户发送消息 [关闭]