C/S架构的客户端程序如何实现自动更新呢?

时间:2021-05-22 04:00:22
我是这样处理的:
做了两个程序,一个是实际使用到的程序,另一个是更新程序。

更新程序每次先启动,到服务器上找发布的程序(实际是看看服务器共享文件夹里的程序的日期是否比本机的新),如果程序比本机器的新,就拷贝过来。
拷贝完后,此程序调用实际使用到的程序。

但是,现在WIN2000/XP共享访问第一次都需要输入用户名和密码(除非客户端刚刚访问过),这样造成每次更新都会失败。我该如何处理?大家有没有更好的方法?

18 个解决方案

#1


抱歉,没分可给了

#2


top

#3


磁盘映射,同时选择登录时重新连接,并保存密码

#4


不要用局欲望文件 用 iis进行更新 ok

#5


To zyg0(影子(加班,加班,再加班):
   高手,能否说具体些?我是菜鸟 :P

#6


用iis创建一个站点 站点中用更新的文件 
用inte控件 下载  更新

#7


用inte控件?VB6中叫啥名字啊?(实在是菜)

#8


是这个么:
   microsoft internet transfer control 6.0 (sp6)

#9


?

#10


dui

#11


改用FTP方式:
把C做为FTP SERVER或FTP CLIENT都无所谓,条件满足时FTP到CLIENT就OK了。

#12


把邮箱写上去,发给你一个更新程序,就可解决你说的问题!!!

#13


Dim objConnSetting As clsConnSetting    
   Set objConnSetting = New clsConnSetting
   SetupPath = glbAppDir                   '确定路径  
   strMyAppPath = App.Path                 '本机执行文件路径
   strMyAppExe = App.EXEName               '本机执行文件名
   strNewPathExe = strSetupPath + "\" + strMyAppExe + "安装.exe"
   strOldExeVer = GetFileVersion(strMyAppPath + "\" + strMyAppExe + ".exe") '取得旧的执行版本
   strNewExeVer = GetFileVersion(strNewPathExe)
    
    If strNewExeVer = vbNullString Or strNewExeVer = strOldExeVer Or strOldExeVer = vbNullString Then
        AppSameVer = True
    Else
        AppSameVer = False
    End If

#14


If Not AppSameVer Then 
        Call AppInstall   '开始更新
        End
    End If

#15


如果你不想修改任何程序也可以,
很简单:
换一个用户,
就是说登陆操作系统时就用可访问服务器共享的域用户名和密码登陆,登陆到域,
系统启动后操作系统就会自动以该用户名和密码访问服务器上面的共享,
这样就没有访问失败的问题了。

当然:
该用户在本地要有相应的权限才行。
比如说要有操作部分目录和文件的权限--如果操作系统对此有限制的话。

#16


谢谢各位,我已经用 microsoft internet transfer control 6.0 (sp6) 控件解决了这个问题,多谢!!!

#17


用FTP方法,在服务器上建立一个FTP目录,每次将最新的程序放到此目录,客户端启动更新程序时连接FTP并下载,至于是否需要下载可以看FTP上文件的时间也可以在本地做一个配置文件来搞.

#18


Visession Anyupdate自动升级软件系统
免费将自动升级功能加入您的软件产品中
网站:http://www.visession.com/anyupdate
下载:http://www.visession.com/anyupdate/DownLoad.htm

#1


抱歉,没分可给了

#2


top

#3


磁盘映射,同时选择登录时重新连接,并保存密码

#4


不要用局欲望文件 用 iis进行更新 ok

#5


To zyg0(影子(加班,加班,再加班):
   高手,能否说具体些?我是菜鸟 :P

#6


用iis创建一个站点 站点中用更新的文件 
用inte控件 下载  更新

#7


用inte控件?VB6中叫啥名字啊?(实在是菜)

#8


是这个么:
   microsoft internet transfer control 6.0 (sp6)

#9


?

#10


dui

#11


改用FTP方式:
把C做为FTP SERVER或FTP CLIENT都无所谓,条件满足时FTP到CLIENT就OK了。

#12


把邮箱写上去,发给你一个更新程序,就可解决你说的问题!!!

#13


Dim objConnSetting As clsConnSetting    
   Set objConnSetting = New clsConnSetting
   SetupPath = glbAppDir                   '确定路径  
   strMyAppPath = App.Path                 '本机执行文件路径
   strMyAppExe = App.EXEName               '本机执行文件名
   strNewPathExe = strSetupPath + "\" + strMyAppExe + "安装.exe"
   strOldExeVer = GetFileVersion(strMyAppPath + "\" + strMyAppExe + ".exe") '取得旧的执行版本
   strNewExeVer = GetFileVersion(strNewPathExe)
    
    If strNewExeVer = vbNullString Or strNewExeVer = strOldExeVer Or strOldExeVer = vbNullString Then
        AppSameVer = True
    Else
        AppSameVer = False
    End If

#14


If Not AppSameVer Then 
        Call AppInstall   '开始更新
        End
    End If

#15


如果你不想修改任何程序也可以,
很简单:
换一个用户,
就是说登陆操作系统时就用可访问服务器共享的域用户名和密码登陆,登陆到域,
系统启动后操作系统就会自动以该用户名和密码访问服务器上面的共享,
这样就没有访问失败的问题了。

当然:
该用户在本地要有相应的权限才行。
比如说要有操作部分目录和文件的权限--如果操作系统对此有限制的话。

#16


谢谢各位,我已经用 microsoft internet transfer control 6.0 (sp6) 控件解决了这个问题,多谢!!!

#17


用FTP方法,在服务器上建立一个FTP目录,每次将最新的程序放到此目录,客户端启动更新程序时连接FTP并下载,至于是否需要下载可以看FTP上文件的时间也可以在本地做一个配置文件来搞.

#18


Visession Anyupdate自动升级软件系统
免费将自动升级功能加入您的软件产品中
网站:http://www.visession.com/anyupdate
下载:http://www.visession.com/anyupdate/DownLoad.htm