客户端,与服务器更新的问题

zzyhuian06142 2007-04-20 03:40:18
现在公司有个软件,当启动该程序的时候,会去调用一个由VB生成的DLL文件(我们对这个软件的二次开发,都是通过修改这个DLL来实现的)
现在的情况是这样:当我们每次生成一版新的DLL文件后,都必须到几十台电脑去更新原先的DLL文件(也就是说把旧版的DLL文件替换成新版的DLL文件)
问题:
我现在想写个程序,当该软件启动的时候,会自动的去检查该电脑上DLL的版本,如果就旧版的,则自动到服务器端下载最新的DLL文件并覆盖

请问这样的办法可以实现吗?
有没有什么好的办法,或者是相应的例子可以参考
在线等,谢谢!!!!!
...全文
285 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzydlx 2007-08-01
  • 打赏
  • 举报
回复
Private Sub cmdBegin_Click()
With DL
.FileURL = cboURL.Text
.SaveFilePath = "f:\"
LogItem "请求下载" & cboURL.Text
.BeginDownload
End With
cmdCancel.Enabled = True
End Sub

Private Sub cmdCancel_Click()
DL.CancelDownload
End Sub

Private Sub DL_DLBeginDownload()
LogItem "开始下载从" & DL.FileURL
End Sub

Private Sub DL_DLCanceled()
LogItem "取消下载"
End Sub

Private Sub DL_DLComplete(Bytes As Long)
'download terminated - bytes is > 0 if successful (file size)
cmdCancel.Enabled = False
If Bytes > 0& Then
LogItem "完成" & SizeString(Bytes) & "下载并保存到" & DL.SaveFileName
Else
LogItem "下载失败"
End If
End Sub

'Returns IP address of successful connection
Private Sub DL_DLConnected(ConnAddr As String)
LogItem "连接到 " & ConnAddr
End Sub
'Error! See UC code for different possible errors
'This event is always followed by DLComplete returning 0 bytes
Private Sub DL_DLError(E As bkDLError, Error As String)
Dim strErrType As String
Select Case E
Case bkDLEUnavailable
strErrType = "不可下载文件"
Case bkDLERedirect
strErrType = "重定向"
Case bkDLEZeroLength
strErrType = "没有字节返回"
Case bkDLESaveError
strErrType = "文件保存错误"
Case bkDLEUnknown
strErrType = "不明错误"
End Select
LogItem "错误 - " & strErrType & ": " & Error
End Sub

Private Sub DL_DLFileSize(Bytes As Long)
'Size in bytes. returned when connection to file is complete
'and download actually begins
LogItem "文件大小为" & SizeString(Bytes) & " (" & CStr(Bytes) & " bytes)"
End Sub

Private Sub DL_DLMIMEType(MIMEType As String)
'handy info!
LogItem "MIME类型是 " & MIMEType
End Sub

Private Sub DL_DLProgress(Percent As Single, BytesRead As Long, TotalBytes As Long)

lblProg.Caption = Format(Percent, "0%") & " of " & SizeString(TotalBytes)
End Sub

Private Sub DL_DLRedirect(ConnAddr As String)
'Returns path to file if redirected
'This event wont fire at all if FailOnRedirect is True! (DLError instead)
LogItem Index, "重定向到" & ConnAddr
End Sub

Private Sub Form_Load()
'initialize sample inputs

cboURL.ListIndex = 0

End Sub

Private Sub LogItem(strItem As String)
With lstOut
.AddItem "> " & strItem
If .NewIndex > .TopIndex + 17 Then
.TopIndex = .NewIndex - 16
End If
End With
End Sub

Private Function SizeString(lBytes As Long) As String
If lBytes < &H400& Then
SizeString = CStr(lBytes) & "b"
ElseIf lBytes < &H100000 Then
SizeString = CStr(lBytes \ 1024) & "k"
ElseIf lBytes < &H20000000 Then
SizeString = Replace$(Format$((lBytes \ 1024) / 1024, "0.0"), ".0", vbNullString) & "M"
Else
SizeString = Replace$(Format$((lBytes \ (1024 ^ 2)) / 1024, "#,##0.0"), ".0", vbNullString) & "G"
End If
End Function
VB的
参考下
wugong 2007-04-20
  • 打赏
  • 举报
回复
用webservices下载,如果放在iis站点就就简单了
gui0605 2007-04-20
  • 打赏
  • 举报
回复
学习。。
hertcloud 2007-04-20
  • 打赏
  • 举报
回复
http://www.cnblogs.com/raya/archive/2006/11/11/557261.aspx

用微软的 Updater Application Block
51Crack 2007-04-20
  • 打赏
  • 举报
回复
winform也能用吗
Eray 2007-04-20
  • 打赏
  • 举报
回复
四个星应该没错了吧。收藏
Red_angelX 2007-04-20
  • 打赏
  • 举报
回复
类似于一些游戏的做法..
51Crack 2007-04-20
  • 打赏
  • 举报
回复
关注
我也想做这样的功能
bitsbird 2007-04-20
  • 打赏
  • 举报
回复
http://www.cnblogs.com/winsex/archive/2006/01/06/312140.aspx
appupdater block 可以在微软网站上下载到
1、本课程是一个干货课程,主要讲解如何封装服务器底层,使用Tcp/ip长连接,IDE使用vs2019 c++开发以及使用c++11的一些标准,跨平台windows和linux,服务器性能高效,单服务器压力测试上万无压力,服务器框架是经历过上线产品的验证,框架简单明了,不熟悉底层封装的人,半个小时就能完全掌握服务器框架上手写业务逻辑。2、本课程是一个底层服务器框架教程,主要是教会学员在windows或linux下如何封装一个高效的,避免踩坑的商业级框架,服务器底层使用初始化即开辟内存的技术,使用内存池,服务器运行期间内存不会溢出,非常稳定,同时服务器使用自定义哈希hashContainer,在处理新的连接,新的数据,新的封包,以及解包,发包,粘包的过程,哈希容器性能非常高效,增、删、查、改永远不会随着连接人数的上升而降低性能,增、删、查、改的复杂度永远都是恒定的O(1)。3、服务器底层封装没有使用任何第三方网络库以及任何第三方插件,自由度非常的高,出了任何BUG,你都有办法去修改,查找问题也非常方便,在windows下使用iocp,linux下使用epoll.4、讲解c++纯客户端,主要用于服务器之间通信,也就是说你想搭建多层结构的服务器服务器服务器之间使用socket通信。还可以使用c++客户端做压力测试,开辟多线程连接服务器,教程提供了压力测试,学员可以自己做压力测试服务器性能。5、赠送ue4和unity3d通信底层框架以及多人交互demo,登录,注册,玩家离开,同步主要是教会学员服务器客户端如何交互。6、赠送c++连接mysql数据库框架demo,登录,注册,玩家离开数据持久化.7、服务器教程使用自定义通信协议,同时也支持protobuf,选择权在开发者自己手里,想用什么协议都可以,自由度高。8、服务器教程使用手动敲代码逐句讲解的方式开展教学课程。非喜勿喷,谢谢大家。9、服务器教程提供源码,大家可以在平台提供的地址下载或者联系我,服务器使用c++11部分标准,std::thread,条件变量,线程锁,智能指针等,需要学员具备一定c++知识,购买前请慎重考虑。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧