我编写了一个客户端-服务器应用程序。有一台计算机运行服务器应用程序,而多台计算机运行客户端应用程序。
到目前为止,每次我的应用程序有新版本/补丁时,我首先通过 VNC 将二进制文件复制到服务器应用程序,然后启动一个脚本,在客户端执行一个脚本,即将二进制文件复制到本地文件夹(网络执行不起作用!)...然后在每台客户端计算机上启动客户端应用程序...
那么有什么好的机会可以替代我的旧方法呢?
我尝试创建一个通过 http/ftp 更新的单击一次应用程序...但没有成功^^
我编写了一个客户端-服务器应用程序。有一台计算机运行服务器应用程序,而多台计算机运行客户端应用程序。
到目前为止,每次我的应用程序有新版本/补丁时,我首先通过 VNC 将二进制文件复制到服务器应用程序,然后启动一个脚本,在客户端执行一个脚本,即将二进制文件复制到本地文件夹(网络执行不起作用!)...然后在每台客户端计算机上启动客户端应用程序...
那么有什么好的机会可以替代我的旧方法呢?
我尝试创建一个通过 http/ftp 更新的单击一次应用程序...但没有成功^^
我们使用一个名为 Presto 的开源应用程序:http: //presto.codeplex.com/
完成初始设置后,每次部署只需两个手动步骤:
1. 将二进制文件复制到网络位置
2. 按 Presto 中的按钮启动新部署
Presto 的最大优势在于您可以使用它来初始设置您的应用程序和服务器,并为每个环境指定适当的配置设置。启动部署后,安装会自动进行,并将正确的值写入配置文件(QA 获取 QA 值,生产获取生产值,等等)。
使用 Presto,您可以停止服务、删除文件夹、复制新的二进制文件、更新配置文件等……而且这一切都是自动化的。
这就是 Web 前端如此受欢迎的原因 :)
尝试实现良好的自动更新机制和版本控制。客户端具有硬编码的服务器版本,第一次调用所有调用服务器都包含自己的版本。当版本不匹配时 - 自动更新时间。在服务器上 - 它只是下载客户端应用程序安装的端点,这是跨版本的标准。
所以客户端有外部更新程序,在客户端知道新版本存在后启动。更新程序过程的目标是下载新的安装/包,或者运行安装更新/重新安装客户端,或者解压缩并复制新的/修改的文件。
不使用某些外部库时。过程看起来像这样。
单击一次是另一种方法,也应该有效。
类似的问题在这里
无论如何,您的客户端应用程序可能需要一个好的安装程序。当您有安装程序时,只需执行简单的下载器/更新器和服务版本控制。
用更少的代码做到这一点并不难。
因此,您只需再执行一次旧式方法即可完成!现在我不知道客户端应用程序是否可以运行服务器,如果是这样,我建议将服务(http、ftp)与服务器应用程序分开。