ASP升級程序的介紹及使用說明
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會導致程序不可用,以后會考慮加入這個容錯機制。