分享
 
 
 

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

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

概要:

本文结合示例阐述了怎样利用WinRAR的自解压功能实现网上程序的自动下载。所谓的“自动“ ,就是让用户毫无知觉的,程序就已经安装到计算机上。当然,如果把该功能用于不正当途径(如制造病毒、木马程序),可不是本文的目的。

一、 前言

笔者在给某税务局做网上申报程序的时候遇到一个问题:怎样使上网用户自动更新本地机器上的应用程序。因为,对于普通上网纳税申报的企业,下载程序时如果提示保存到何处(IE在下载程序时都会提示),他们都不知到要怎样操作。而且,本地的客户端程序要和服务器通讯,为了安全起见,也不愿让他们知道程序到底在什么地方。也就是说,用户不知到程序要下载到哪里,而只有让程序自动下载到机器的某个地方,若服务器端程序版本更新,就自动再次下载更新客户端的程序。

曾经在网上看到一篇关于“网页木马”的文章,就是怎样不知不觉的把程序(exe程序)下载到用户计算机上。笔者想到,如果我把需要下载的程序打包制作成一个可执行程序,等程序下载到客户机上时再自动解包,就能实现上述要求。经过对比选择,我选择了WinRAR压缩工具。

WinRAR不但压缩率高,而且可以很容易制作自动解压缩的EXE文件包。另外,通过一个“注释文件”(RAR压缩包专用的.txt文件),还可以设定下载后解压的目标路径、创建快捷方式、版本信息等等。从而实现自动、隐蔽、快速、傻瓜化的安装程序到用户桌面的目的。

二、 程序实现

1、WinRAR介绍

WinRAR 是 32 位 Windows 版本的 RAR 压缩文件管理器 - 一个允许你创建、管理和控制压缩文件的强大工具。从命令行也可以运行 WinRAR 命令,常规的命令行语法描述如下:

WinRAR

<命令 -<开关1 -<开关N <压缩文件 <文件... <@列表文件... <解压路径详细的命令、开关等参数开查阅WinRAR的帮助,笔者使用的是WinRAR3.11汉化版。

2、创建WinRAR自解压文件

创建C:\test文件夹(这里仅做测试用,你可以在任何地方创建)。

在C:\test中创建WebtaxClient目录,里面放置需要打包的程序。

创建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下,你可以根据情况修改上述内容。

创建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下测试通过。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有