直连的数据库C/S程序?还是Socket程序?

解决方案 »

  1.   

    简单点的做法
    建一个表:Updates
    ID(自增字段) , Version(Int64) , FileName(varchar) , FileData(Image) , RunOnOver(integer)发布更新的时候,把文件新版本写入Version,以及文件名,文件内容通过Stream比如Bolb字段FileData,
    可以写入多行软件启动的时候,首先读当前版本,连接数据库之后,首先从表中读取版本比当前版本高的纪录,
    如果有记录,就用Blob字段写入TFileStream就写到本地文件了,比较文件名看是否是更新主程序,
    如果是:
    DeleteFile(ChangeFileExt(Application.exeName,'.bak'));//删除备份文件
    ReName(Application.exeName , ChangeFileExt(Application.exeName,'.bak'));
    FileStream := TFileStream.Create(Application.exeName);
    然后把字段写入FileStream,之后重新启动即可
    其他非DLL的文件,直接写即可,无需更名
      

  2.   

    iis只是web server的一种,本需求只要有一个虚拟静态目录就行了,应该很容易配置的了