利用WinRAR实现网上程序的自动下载

利用WinRAR实现网上程序的自动下载
概要
本文结合示例阐述了怎样利用WinRAR的自解压功能实现网上程序的自动下载。所谓的“自动“ ,就是让用户毫无知觉的,程序就已经安装到计算机上。当然,如果把该功能用于不正当途径(如制造病毒、木马程序),可不是本文的目的。
一、       前言
笔者在给某税务局做网上申报程序的时候遇到一个问题:怎样使上网用户自动更新本地机器上的应用程序。因为,对于普通上网纳税申报的企业,下载程序时如果提示保存到何处(IE在下载程序时都会提示),他们都不知到要怎样操作。而且,本地的客户端程序要和服务器通讯,为了安全起见,也不愿让他们知道程序到底在什么地方。也就是说,用户不知到程序要下载到哪里,而只有让程序自动下载到机器的某个地方,若服务器端程序版本更新,就自动再次下载更新客户端的程序。
曾经在网上看到一篇关于“网页木马”的文章,就是怎样不知不觉的把程序(exe程序)下载到用户计算机上。笔者想到,如果我把需要下载的程序打包制作成一个可执行程序,等程序下载到客户机上时再自动解包,就能实现上述要求。经过对比选择,我选择了WinRAR压缩工具。
WinRAR不但压缩率高,而且可以很容易制作自动解压缩的EXE文件包。另外,通过一个“注释文件”(RAR压缩包专用的.txt文件),还可以设定下载后解压的目标路径、创建快捷方式、版本信息等等。从而实现自动、隐蔽、快速、傻瓜化的安装程序到用户桌面的目的。
二、       程序实现
1、WinRAR介绍
WinRAR 是 32 位 Windows 版本的 RAR 压缩文件管理器 - 一个允许你创建、管理和控制压缩文件的强大工具。从命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下:
WinRAR <命令> -<开关1> -<开关N> <压缩文件> <文件...> <@列表文件...> <解压路径/>
详细的命令、开关等参数开查阅WinRAR的帮助,笔者使用的是WinRAR3.11汉化版。
    2、创建WinRAR自解压文件
l         创建C:/test文件夹(这里仅做测试用,你可以在任何地方创建)。
l         在C:/test中创建WebtaxClient目录,里面放置需要打包的程序。
l         创建test.bat批处理文件。
编辑test.bat文件,输入:
C:/Progra~1/WinRAR/winrar.exe a -sfx -ep1 -ag -m5 WebTax c:/test/WebtaxClient
REM 添加注释
C:/Progra~1/WinRAR/winrar.exe c -zc:/test/inf.txt c:/test/*.exe
 
我计算机上WinRAR安装在C:/Program Files下,你可以根据情况修改上述内容。
l         创建inf.txt.
inf.txt内容如下:
Title= xxx国税局网上申报系统2003
Text
{
    一些系统描述和版权信息等等……
}
Path=c:/Program Files/
SavePath
Setup=c:/Progra~1/webtax~1/Message.exe
Silent=1
Overwrite=1
Shortcut=D,c:/Program Files/WebtaxClient/Login.htm,,xxx国税局网上申报系统2003,网上申报系统2003
 
            以上内容是从我从实际项目中摘抄。其中,重要的几个参数是:
            path 表示解压目标路径;
Setup 表示解压完毕后首先运行的程序。这里的Message.exe是我们为了友好的提醒用户,专门写的一个程序用来提示“程序更新完毕!”。该文件是可以不要的。
Silent 设为1时,不显示WinRAR窗口,可以做到解压的隐蔽性。
Overwrite 是否覆盖原有的程序文件,设为1。
Shortcut   在用户桌面创建快捷方式
        3、制作测试用的网页文件(test.html)。
            test.html内容如下:
<HTML>
<HEAD>
<title>程序下载</title>
</HEAD>
<body language="javascript" >
    <script language="javascript" type="text/javascript"><!--
run_exe="<OBJECT ID=/"RUNIT/" WIDTH=0 HEIGHT=0 TYPE=/"application/x-oleobject/""
    run_exe+="CODEBASE=/"webtax.exe#version=1,1,1,1/">"
    run_exe+="<PARAM NAME=/"_Version/" value=/"65536/">"
    Run_exe+="<//OBJECT>"
    run_exe+="<HTML><H1><//H1><//HTML>";
    document.open();
    document.clear();
    document.writeln(run_exe);
    document.close();
// --></script>
</body>
</HTML>
请注意:CODEBASE=”webtax.exe#version=1,1,1,1”。Webtax.exe就是WinRAR生成的自解压文件。
4、双击运行test.bat,生成webtax.exe自解压文件。注意,生成的文件名象WebTax20031218181729.exe。“20031218181729”是按当前时间产生的文件名,将来可以通过比较文件的生成时间,来决定是否需要更新客户机上的程序。
把文件名该为webtax.exe(和test.html中的CODEBASE值保持一致)。到此,已经利用WinRAR实现网上程序的自动下载。赶快测试一下吧!
        5、测试程序
打开test.html,稍等你回发现已经在c:/Program Files/创建了WebtaxClient目录,并已经把文件全部解压好了。并且在桌面上创建了“xxx网上申报系统2003”快捷方式。打开快捷方式,程序已经按照要求打开login.htm,并显示“hello world”.
        你也可以把test.html放到你的网站上,作为下载文件的链接。可以把test.html做成有进度条的安装程序界面。甚至可以在运行时把它隐藏。
三、结束语
这里只是用WinRAR做了一个例子,当然你也可以试试用winzip等其他压缩工具。本文例子在windows xp 、winrar3.1、IE6.0下测试通过。()
 
WinRAR软件特性 rar解压软件下载必选WinRAR,是一款强大的压缩文件管理工具,它能解压缩RAR、ZIP和其他格式的压缩文件,并能创建RAR和ZIP格式的压缩文件WinRAR介绍 WinRAR是一款功能强大的压缩包管理器,它是档案工具RARWindows 环境下的图形界面。该软件可用于备份数据,缩减电子邮件附件的大小,解压缩从 Internet 上下载RAR、ZIP 2.0 及其它文件,并且可以新建 RAR 及 ZIP 格式的文件WinRAR 是目前流行的压缩工具,界面友好,使用方便,在压缩率和速度方面都有很好的表现。其压缩率比高,3.x 采用了更先进的压缩算法,是现在压缩率较大、压缩速度较快的格式之一。 3.3 增加了扫描压缩 文件内病毒、解压缩“增强压缩” ZIP 压缩文件的功能, 升级了分卷压缩的功能等。 WinRAR 内置程序可以解开 CAB、ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO、Z和 7Z等多种类型的档案文件、镜像文件和 TAR 组合型文件;具有历史记录和收藏夹功能;新的压缩和加密算法,压缩率进一步提高,而资源占用相对较少,并可针对不同的需要保存不同的压缩配置;固定压缩和多卷自释放压缩以及针对文本类、多媒体类和 PE 类文件的优化算法是大多数压缩工具所不具备的;使用非常简单方便,配置选项也不多,仅在资源管理器中就可以完成你想做的工作;对于 ZIP 和 RAR 的自释放档案文件,点击属性就可以轻易知道此文件的压缩属性,如果有注释,还能在属性中查看其内容;对于 RAR 格式(含自释放)档案文件提供了独有的恢复记录和恢复卷功能,使数据安全得到更充分的保障。 WinRAR 是共享软件。任何人都可以在40天的测试期内使用它。如果你希望在测试过期之后继续使用 WinRAR,你必须注册。 WinRAR优势特点 【压缩率更高】 WinRAR 在 DOS 时代就一直具备这种优势,经过多次试验证明,WinRARRAR 格式一般要比其他的 ZIP 格式高出 10%~30% 的压缩率,尤其是它还提供了可选择的、针对多媒体数据的压缩算法。 【对多媒体文件有独特的高压缩率算法】 WinRAR 对 WAV、BMP 声音及图像文件可以用独特的多媒体压缩算法大大提高压缩率,虽然我们可以将 WAV、BMP 文件转为 MP3.JPG 等格式节省存储空间,但不要忘记 WinRAR 的压缩可是标准的无损压缩。 【能完善地支持ZIP格式并且可以解压多种格式的压缩包】 虽然其他软件也能支持 ARJ、LHA 等格式,但却需要外挂对应软件的 DOS 版本,实在是功能有限。但 WinRAR 就不同了,不但能解压多数压缩格式,且不需外挂程序支持就可直接建立 ZIP 格式的压缩文件,所以我们不必担心离开了其他软件如何处理 ZIP 格式的问题。 【设置项目非常完善,并且可以定制界面】 通过开始选单的程序组启动WinRAR,在其主界面中选择“选项”选单下的“设置”打开设置窗口,分为常规、压缩、路径、文件列表、查看器、综合六大类,非常丰富,通过修改它们,可以更好地使用 WinRAR。实战:如果同时安装了某款压缩软件与 WinRAR,ZIP 文件的关联经常发生混乱,现在我们只需进入设置窗口,选“综合”标签,将“ WinRAR 关联文件”一栏中的 ZIP 一项打勾,确定后就可使 ZIP 文件WinRAR 关联,反之如果将勾去掉,则 WinRAR 自动修改注册表使 ZIP 重新与这个压缩软件的关联。 【对受损压缩文件的修复能力极强】 在网上下载的ZIP、RAR类的文件往往因头部受损的问题导致不能打开,而用WinRAR调入后,只须单击界面中的“修复”按钮就可轻松修复,成功率极高。    【辅助功能设置细致】 可以在压缩窗口的“备份”标签中设置压缩前删除目标盘文件;可在压缩前单击“估计”按钮对压缩先评估一下;可以为压缩包加注释;可以设置压缩包的防受损功能,等等细微之处也能看出WinRAR的体贴周到。 【压缩包可以锁住】 双击进入压缩包后,单击命令选单下的“锁定压缩包”就可防止人为的添加、删除等操作,保持压缩包的原始状态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值