本人为企业开发了一套分布式系统,分为客户端和服务端,共同打在一个安装包内,先安装服务端,服务端安装完成后会产生WEB管理站点,客户端可以从WEB管理站点下载后安装,因为客户端也是一个安装包文件,里面需要包含服务端的配置信息,比如IP和Port,将此配置信息在安装时动态添加到客户端安装包,当局域网内用户通过WEB页面下载客户端时已经是包含了配置信息的安装包了。目前的问题是:
1、此软件是一个局域网软件会给不同的企业使用,服务端IP和Port不会固定,必须在用户下载客户端前动态配置客户端的安装包。
2、所有安装包在交付给用户时已经通过360认证,但动态配置安装包后发生改变,被360认为是木马。
3、此前客户端不包含配置信息,使用UDP广播包的方式查询服务器是可行的,但是在某些企业多网段使用路由器阻挡了广播包,客户端找不到服务端,所以后来要加配置信息。有没有更好的解决办法?欢迎大家提供解决思路

解决方案 »

  1.   


    把客户端+配置文件分离出来
    服务器程序+WEB管理站点是自己写的吧?
    安装完服务端,你是不是要配置服务器?
    配置自己的程序,可以产生配置的文件,這沒问题吧?
    再通过WEB管理站点同时下载客户端+配置文件,或者2者打包一起下载,这也沒问题吧?
    客户端下载后安装就能用,都不用配置
      

  2.   

    服务端的配置信息,比如IP和Port 放在一个固定的ip2、port2
    每个客户端第一次使用都到ip2:port2取
      

  3.   

    局域网软件,每个企业的服务器IP都会不一样,在软件中强制固定IP会遭到客户抱怨。
      

  4.   

    把安装程序和配置文件再打成一个zip文件,应该就不影响MD5码了吧。
      

  5.   

    需要预知的是 服务端的ip1还是web的ip2?【当局域网内用户通过WEB页面下载客户端时已经是包含了配置信息的安装包了】
    这个web的IP和Port就是ip2、port2了最好你在公网建一个ip3的服务器,这些信息都在那里,客户端自己去那里取
    不过就要求客户端都能上互联网
      

  6.   

    to (lhylhy) 
    ZIP要打成可执行文件吧,Delphi怎么打包?to (sz_haitao)
    在有些客户的局域网里,是不能连接公网的。
      

  7.   

    zip有没有生成自解压程序的功能可以调用?
      

  8.   

    Delphi XE2已经支持Zip文件了。
    不过。我都是自己使用资源文件做安装包,用自己的代码来将不同的文件安装到用户的硬盘上。
    手动输入IP和Port是有点烦,不过,用户一次输入IP和端口后,程序就使用日志文件记录就是了。
    如果用户使用了DHCP服务,那么就手动设置服务器的地址为网段内的某一固定IP,我就是这么做的。
    办法是笨一点,但是很有效。
      

  9.   


    单独一个配置文件(ini),客户下载后放在哪里?ini要放在安装目录下面,那么还要告诉用户去放到哪里了?
      

  10.   


    2个ini,都在xxx.exe所在目录
    基础ini:xxx.base.ini,仅仅保存配置信息所在的ip:port,用户初次运行xxx.exe时,手工输入ip:port后,xxx.exe自动保存
    详细ini:xxx.ini,由xxx.exe自动从ip:port取得,保存路径也是xxx.exe自动定位(自己所在的目录)
    xxx.exe运行后所做的设置变动,自动保存到此ini