2012-06-14 40 views
0

我写了一个客户端 - 服务器应用程序。有一台计算机运行服务器应用程序,以及几台运行客户端应用程序的计算机。如何测试和部署分布式应用程序?

到目前为止,每次我有一个新的应用程序版本/补丁时,我首先通过VNC将二进制文件复制到服务器应用程序,然后启动一个脚本,在客户端执行一个脚本,即复制二进制文件到本地文件夹(网络执行不起作用!)...然后客户端应用程序在每台客户端计算机上启动...

那么,什么是可以取代我的旧式方法的好机会?

我试图创造出一种更新在点击一次应用程序HTTP/FTP ...但没有成功^^

+0

我使用了开源软件部署。我建议使用wpkg .. http://wpkg.org/。它很容易使用。它使用javascript和xml实现。 –

+0

_I尝试创建一个点击一次的应用程序,通过http/ftp更新...但没有成功_ - 你能更具体吗?我多次使用Click Once over http。 – jrummell

回答

4

我们使用名为普雷斯托一个开源的应用程序:http://presto.codeplex.com/

做初始设置后,只有两个手动步骤,每个部署:
1.复制二进制文件的网络位置
2.按普雷斯托按钮来启动一个新的部署

大赢与普雷斯托是你我们最初设置您的应用程序和服务器,并为每个环境指定适当的配置设置。一旦启动部署,安装就会自动进行,并将正确的值写入配置文件(QA获取QA值,生产获取生产值等)。

使用Presto,您可以停止服务,删除文件夹,复制新的二进制文件,更新配置文件等等,而且它都是自动化的。

1

这就是为什么web前端是如此受欢迎:)

试图实现良好的自动更新机制和版本。客户端具有硬编码服务器版本,首先与每个呼叫服务器通话都包含自己的版本。版本不匹配时 - 自动更新的时间。在服务器上 - 只是下载客户端应用程序安装的端点,这是各个版本的标准。

因此,客户端具有外部更新程序进程,这是在客户端知道存在新版本后启动的。更新程序进程的目标是下载新的安装/程序包,并且要么运行将更新/重新安装客户机的安装程序,要么解压缩和复制新的/修改的文件。

当不使用某些外部库时。过程看起来像这样。

点击一次是另一种方法,也应该工作。

Similr问题就在这里

Auto update .NET applications

反正可能就是你的客户端应用程序需要一个良好的安装程序。当你安装了安装程序来实现简单的下载/更新和版本服务。

0

用较少的代码来做这件事并不难。

  1. 在您的应用程序中设置http服务。
  2. 创建一个当前版本列出的文件。
  3. 在应用程序中设置一个ftp服务来提供新的二进制文件。
  4. 将Updater.exe应用程序添加到客户端,这将通过http检查新的更新并通过ftp下载新版本。还应该创建客户端版本文件。

所以你只需要再做一次老式的方法,就完成了! 现在我不知道客户端应用程序是否可以运行服务器,如果是这种情况,我会建议您从服务器应用程序中分离服务(http,ftp)。

相关问题