`
wsql
  • 浏览: 12103427 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

ASP在线升级程序

阅读更多

ASP在线升级程序
<%
'文件名:updata.asp
'远程地址
const url="http://localhost/test/"

action=request("action")
if action="updata" then
download(url&"config.txt")
download(url&"pack.jpg")
response.Write("下载成功<a href='updata.asp?action=install'>安装</a>")
elseif action="install" then
str=openfile("config.txt")
if str="" then
response.write "缺少本地配置文件config.txt"
else
size=RegExpTest("size",str)
call install("pack.jpg",size)
end if
else
str=getpage(url&"config.txt")
if str="" then
response.write "不存在可用更新或者本地配置不正确"
response.end
end if

str1=openfile("config.txt")
if str1="" then
response.write "缺少本地配置文件config.txt无法获知本地程序的安装时间"
response.end
end if

updatatime=RegExpTest("time",str)
updatatime1=RegExpTest("time",str1)

if DateDiff("d",updatatime1,updatatime)>0 then
response.Write("存在可用更新,更新日期:"&updatatime&"<a href='updata.asp?action=updata'>下载</a>")
else
response.write "您的程序是最新的了"
end if
end if

function openfile(filename)
set fso=server.CreateObject("scripting.filesystemobject")
if fso.fileexists(server.MapPath(filename)) then
set f1=fso.opentextfile(server.mappath(filename),1,true)
openfile=f1.readall
f1.close
else
openfile=""
end if
set fso=nothing
end function

function getpage(url)
set xmlhttp=server.createobject("Microsoft.XMLHTTP")
xmlhttp.open "get",url,false
xmlhttp.send
if xmlhttp.status<>200 then
getpage=""
else
getpage=bytes2BSTR(xmlhttp.ResponseBody)
end if
end function

Function bytes2BSTR(vIn)
dim strReturn
dim i,ThisCharCode,NextCharCode
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function

Function RegExpTest(patrn,strng)
Dim regEx,Match,Matches'建立变量。
Set regEx = New RegExp'建立正则表达式。
regEx.Pattern = patrn&"=(.+?)\n"'设置模式。
regEx.IgnoreCase = True'设置是否区分字符大小写。
regEx.Global = True'设置全局可用性。
Set Matches = regEx.Execute(strng)'执行搜索。
For Each Match in Matches'遍历匹配集合。
RetStr = Match.Value
Next
RegExpTest = replace(RetStr,patrn&"=","")
End Function

function download(url)
temp=split(url,"/")
filename=temp(ubound(temp))
set xmlhttp=server.createobject("Microsoft.XMLHTTP")
xmlhttp.open "get",url,false
xmlhttp.send
if xmlhttp.status<>200 then
download=""
else
set fso=server.createobject("scripting.filesystemobject")
if fso.fileexists(server.mappath(filename)) then
fso.deletefile(server.mappath(filename))
end if
set fso=nothing
img=xmlhttp.ResponseBody
set objAdostream=server.createobject("ADODB.Stream")
objAdostream.Open
objAdostream.type=1
objAdostream.Write(img)
objAdostream.SaveToFile(server.mappath(filename))
objAdostream.SetEOS
set objAdostream=nothing
download=filename
end if
set xmlhttp=nothing
end function


function install(filename,size)
on error resume next
path=server.mappath("./")

set fso=server.createobject("scripting.filesystemobject")

set s=server.createobject("adodb.stream")
set s1=server.createobject("adodb.stream")
set s2=server.createobject("adodb.stream")

s.open
s1.open
s2.open

s.type=1
s1.type=1
s2.type=1

s.loadfromfile(server.mappath(filename))
s.position=size
s1.write(s.read)
s1.position=0
s1.type=2
s1.charset="gb2312"
s1.position=0
a=split(s1.readtext,vbcrlf)
s.position=0

i=0
while(i<ubound(a))
b=split(a(i),">")
if b(0)="folder" then
if not fso.folderexists(path&b(2)) then
fso.createfolder(path&b(2))
end if
elseif b(0)="file" then
if fso.fileexists(path&b(2)) then
fso.deletefile(path&b(2))
end if
s2.position=0
s2.write(s.read(b(1)))
s2.seteos
s2.savetofile(path&b(2))
end if
i=i+1
wend

s.close
s1.close
s2.close
set s=nothing
set s1=nothing
set s2=nothing
set fso=nothing
if err.number<>0 then
response.write err.description
else
response.write "安装成功"
end if
end function

%>


<%
'文件名称:pack.asp
on error resume next
set fso=server.createobject("scripting.filesystemobject")
if fso.fileexists(server.mappath("./pack.jpg")) then
response.Write("pack.jpg已经存在")
response.End()
end if

dim str,s,s1,s2
set s=server.createobject("ADODB.Stream")
set s1=server.createobject("ADODB.Stream")
set s2=server.createobject("ADODB.Stream")

s.Open
s1.Open
s2.Open

s.Type=1
s1.type=1
s2.Type=2

call WriteFile(server.MapPath("./"))

s2.charset="gb2312"
s2.WriteText(str)
s2.Position=0
s2.type=1
s2.Position=0
bin=s2.Read

s2.Position=0
s2.type=2
s2.writeText("time="&now&vbcrlf)
s2.writeText("size="&s1.size&vbcrlf)
s2.writeText("run="&request.Form("run")&vbcrlf)
s2.seteos
s2.savetofile(server.mappath("./config.txt"))

s1.write(bin)
s1.SetEOS
s1.SaveToFile(server.mappath("./pack.jpg"))

s.close
s1.close
s2.close

set s=nothing
set s1=nothing
set s2=nothing

if err.number<>0 then
response.write err.description
else
response.Write("完成")
end if

Function WriteFile(folderspec)
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(folderspec)

Set fc = f.Files
For Each f1 in fc
if f1.name<>"pack.asp" then
str=str&"file>"&f1.size&">"&replace(folderspec&"\"&f1.name,server.MapPath("./"),"")&vbcrlf
s.LoadFromFile(folderspec&"\"&f1.name)
img=s.Read()
s1.Write(img)
end if
Next

Set fc = f.SubFolders
For Each f1 in fc
str=str&"folder>0>"&replace(folderspec&"\"&f1.name,server.MapPath("./"),"")&vbcrlf
WriteFile(folderspec&"\"&f1.name)
Next

set fso=nothing
End Function
%>



ASP升级程序使用说明

本程序分两部分:
1、ASP文件打包程序pack.asp
把这个程序和要打包的程序放到一个目录下,然后运行pack.asp,得到pack.jpg和config.txt
2、ASP在线更新、下载、安装程序updata.asp
这个程序可以用来检查是否存在可用更新,和updata.asp同一目录要存在上面得到的config.txt,因为config里面有当前程序的安装日期,用来和网上的程序比较用的。
使用前,先修改updata.asp里的url变量的值,使其等于你存放升级程序的URL,运行updata.asp就可查看是否存在可用更新,如果存在就可用按着向导一步一步下载并安装更新了。

远程地址url下面存放用pack.asp得到的pack.jpg和config.txt

本程序既可以用来做升级程序,当然如果原来安装目录下是空的,那就是一个完整的安装程序,^_^,也可以把updata.asp放到后台的首页里,这样每次登陆都可以自动检查是否有可用更新

注意:本地或者远程没有config.txt会导致程序不可用,以后会考虑加入这个容错机制。

分享到:
评论

相关推荐

    在线升级程序asp版

    ASP升级程序使用说明 &lt;br&gt;本程序分两部分: 1、ASP文件打包程序pack.asp 把这个程序和要打包的程序放到一个目录下,然后运行pack.asp,得到pack.jpg和config.txt 2、ASP在线更新、下载、安装程序...

    asp全能探针程序升级版

    【ASP全能探针程序升级版】是一款专为ASP程序开发人员设计的强大工具,它能够全面地监测和分析ASP应用程序的运行状态,帮助开发者快速定位并解决问题。作为ASP开发者的重要助手,这款升级版在原有基础上增加了更多...

    动网论坛 asp8.3 整站程序 asp

    动网论坛asp8.3是一款基于ASP(Active Server Pages)技术构建的社区论坛软件,它在互联网上曾经广泛被用于建立各种在线交流平台。这款论坛系统以其易用性、功能全面和良好的可定制性受到许多网站管理员的青睐。在...

    在线asp订单程序,带前后台

    这个在线ASP订单程序显然利用了ASP技术来处理用户的订单请求,提供一个从前台到后台的完整流程。下面将详细解释这个程序可能涉及的关键知识点。 1. **ASP基础**: ASP文件通常以".asp"为扩展名,它包含了HTML代码...

    asp版支付宝接口程序

    这个接口程序允许网站接受支付宝作为支付方式,为用户提供安全便捷的在线支付服务。 1. **支付宝接口**:支付宝接口是支付宝提供给商家用于集成其支付系统的一种服务,通过API调用实现交易处理、订单查询、退款等...

    ASP程序设计,ppt课件

    7. **ASP.NET简介**:虽然标题和标签没有提及ASP.NET,但作为ASP的升级版,课件可能会简要介绍ASP.NET的关键改进和优势,如.NET Framework、C#编程语言、控件模型的增强等。 8. **实例分析**:课件中可能会包含一些...

    ASP+MSSQL仿拉手网团购程序源码 - ASP+MSSQL团购网站程序源码(附说明文档)

    是一套仿拉手网团购程序,是国内首套采用ASP+MSSQL开发的团购程序,安装超简,功能超全面,在保留手拉手团购系统版权的前提下,允许所有用户永久免费使用、永久免费升级。手拉手团购系统内置多种主流在线支付接口,...

    BBS论坛程序ASP.NET版_C#论坛社区程序.rar

    【压缩包子文件的文件名称列表】:"[论坛社区]BBSGood论坛程序 ASP.NET版_asptoaspx_forbbsgood" 提示了这个程序可能叫做“BBSGood”,并且进行了从ASP到ASPx的转换,这意味着它可能最初是基于ASP开发,然后升级或...

    程序asp程序081

    7. **ASP与.NET Framework的关系**:虽然ASP.NET是ASP的升级版本,但两者并不兼容。ASP.NET引入了更强大的控件模型、面向对象的编程支持以及更高效的编译模型。然而,许多ASP的经典知识仍然对理解ASP.NET有帮助。 8...

    动网论坛 v7.0.0 To v7.1.0 升级程序

    如update,然后将本压缩包中所有文件以及老论坛数据库上传至该目录3、使用浏览器运行http://网址/升级目录/update.asp4、详细阅读升级程序中的注意事项后开始升级5、升级完成后将升级包中的“CleanCache.asp”文件...

    网络程序设计——ASP教程

    2. **ASP.NET**:ASP的升级版,提供了更强大的功能和性能。 3. **Web服务和SOAP**:使用ASP创建和消费Web服务,实现不同应用间的通信。 4. **安全性**:学习如何保护ASP应用程序免受攻击,如SQL注入、跨站脚本等。 ...

    免费ASP论坛程序

    最后,考虑到ASP论坛程序的维护和升级,用户可能需要了解数据库管理(如Access或SQL Server)、服务器配置(如IIS)以及基本的网络知识。此外,开发者社区的支持和持续的更新至关重要,以便及时修复漏洞、添加新功能...

    ASP本地调试程序

    ASP本地调试程序是一种针对开发人员设计的工具,它允许用户在未安装Internet Information Services (IIS) 的计算机上进行ASP(Active Server Pages)程序的测试和调试。这为开发者提供了极大的便利,因为通常情况下...

    好用好看的asp整站程序含后台源码

    需要注意的是,由于ASP是较老的技术,可能不支持现代的Web标准和安全特性,因此在实际使用时要考虑其兼容性和安全性问题,可能需要进行升级或替换为更现代的框架如ASP.NET或PHP。同时,定期备份数据和更新程序以防止...

    ASP_程序设计及应用(源代码)

    9. **ASP.NET对比**:虽然ASP.NET是ASP的升级版,但两者有显著不同,如ASP.NET引入了.NET Framework,支持更多语言,性能更强,且代码结构更加面向对象。 10. **Web服务和XML**:ASP还可以创建Web服务,通过SOAP...

    动网论坛V7.0/7.1 To V7.1.0 Sp1升级程序

    3、使用浏览器运行http://网址/升级目录/update.asp 4、详细阅读升级程序中的注意事项后开始升级 5、升级完成后将升级包中的“CleanCache.asp”文件上传到论坛目录并运行,清理缓存 6、修改新版中Conn.asp文件中的...

    ASP网站实例开发源码——在线漫画程序.zip

    这个在线漫画程序的源码是基于ASP技术实现的,它提供了在互联网上浏览和管理漫画内容的功能。让我们深入了解一下ASP的核心概念以及在这个在线漫画程序中可能涉及的技术和功能。 1. ASP基础:ASP是一个开放的、可...

    ASP远程更新程序 - 带客户端服务端

    ASP远程更新程序是一种用于自动化应用程序升级的技术,尤其适用于基于ASP(Active Server Pages)技术构建的Web应用程序。在ASP中,这种远程更新机制可以确保服务器端的代码始终保持最新,从而提高应用的安全性和...

    asp.net mvc2安装程序

    在2008年发布时,ASP.NET MVC2是ASP.NET MVC框架的一个重要升级,它带来了许多新特性,如更强的模型绑定能力、数据注解验证、改进的URL路由以及对AJAX更友好的支持。 标签“asp.net mvc”进一步强调了讨论的核心...

    asp.net支付宝接口程序

    这个程序集成了支付宝提供的API,使得开发者可以方便地实现在线支付、订单处理、交易查询等功能。在这个项目中,通常会包含两个主要的签名版本:RSA签名版本和MD5签名版本,这两种方法都是为了确保交易数据的安全性...

Global site tag (gtag.js) - Google Analytics