解决方案 »

  1.   

    第一  你得检测版本。那么你就需要一个服务器来提供这个版本控制的东西。以便这个exe每次启动就会自动连接上来,检测本地的版本和服务器上的是否一致。
    第二  检测到不一致,你得下载更新包。这里实现的方式很多,结果都是你得把需要更新的文件发送到客户端去。socket,http都成。至于更新包的方式,你可以是一组文件,单个发送,替换原文件,也可以打包过去,自动运行解压,替换。
      

  2.   

    如果要修改的EXE文件比较少,直接将重新编译过的 EXE 文件发给客户覆盖原文件就可以了
      

  3.   

    改的并不多 可是如果覆盖的话  客户的数据将会丢失数据保存在exe或者dll中?
      

  4.   

    把改过的模块编译成心的dll  然后覆盖运行目录中的原始文件都行了。
      

  5.   

    clickOnce吧,前提是你们都在局域网上
      

  6.   

    改的并不多 可是如果覆盖的话  客户的数据将会丢失数据保存在exe或者dll中?
    是的 一般  客户的数据会保存在安装目录 里面的那个数据库 如果重新安装   数据将会 丢失
      

  7.   

    改的并不多 可是如果覆盖的话  客户的数据将会丢失数据保存在exe或者dll中?
    是的 一般  客户的数据会保存在安装目录 里面的那个数据库 如果重新安装   数据将会 丢失不是从新安装,是只覆盖exe和dll。数据库文件一般不会是exe或者dll的。
      

  8.   

    你的源码修改后重新编译,交给用户替换,数据不是保存在exe或者dll文件中吧
      

  9.   

    给用户创建快捷方式的时候,创建的是启动器的快捷方式,用户只要执行启动器就会自动进行更新-下载-运行的操作能加下 详聊吗  很多地方都 不懂   505437592
    抱歉,不用QQ,还是上伪代码吧:主程序:还是你那个程序,改个名字,例如从Main.exe改成Main2.exe
    启动器:改成你之前主程序的名字
    main{
    string s=GetHttpResult("你的更新网址");//从网页读数据,代码百度
    if(hasUpdate(s))//根据返回结果判断,例如返回1.0.0.1,你的版本为1.0.0.0就更新,返回结果可以是xml,更方便解析
    {
    string[] updateFiles=GetUpdateFiles("你的更新网址) ;//根据版本号向服务器请求文件列表
    foreach(string file in updateFiles )
    {
    downloadFile(file,tempfile);//保存至一个临时目录中
    }
    MoveUpdates();//复制并覆盖文件
    }
    startMain();//运行你的主程序
    }以上就是启动器的代码,安装时给用户创建的快捷方式是这个程序
    至于现在已安装的客户,可以给客户一个更新包,更新包里面就添加一个启动器并更新主程序,用户再次启动时就会打开启动器来检查更新