HUNRYBECKY
银牌会员
积分 1179
发帖 442
注册 2006-9-9
状态 离线
|
『楼 主』:
[学习笔记]WINRAR在制作绿色软件的运用
WINRAR在制作绿色软件的运用
一.使用WINRAR制作单文件绿色软件
制作单文件绿色软件的方法有很多,如使用FILEPACKER等,这里介绍使用WINRAR怎样制作单文件绿色软件,之所有使用WINRAR制作,原因在于不会被杀毒软件查杀,运行后自动删除解压缩的文件,干净清爽,废话少说,LET'S GO!
选中要打包的所有文件-->鼠标右键"添加到压缩包"-->常规-->选中创建自解压-->高级-->自解压选项-->常规-->解压后运行中输入你要运行的程序名(注意使用相对路径)-->模式-->选中解压到临时文件夹,同时使用安静模式和覆盖模式[-->文字和图标-->图标中浏览选择刚才创建的ICO文件]-->确定-->确定
不过这里还得说明一点,很多小软件不需要注册控件,也不需要相应的注册表文件支持,所以制作时采用单文件绿色版比较好,有些文档等如WORD,EXCEL,ACCESS等也可以"制作"成EXE文件来执行(必须有相应的程序来执行),但是有些软件则需要注册表的支持或DLL注册才能运行,那么此时在"解压后运行"中不能直接输入要运行的程序名称,而必须使用批处理等方式在完成导入注册表或注册控件后再调用运行的程序即可.下面以创建Acrobat7单文件绿色版为例.
先在Acrobat7目录里创建一个GSETUP.BAT的批处理,然后在"解压后运行"里输入GSETUP.BAT即可,批处理内容如下:
@ECHO OFF
REM 1.设置运行环境
FOR /F "TOKENS=1,2 DELIMS=: " %%I IN ('CHCP') DO SET LAN=%%J
SET PATH=%CD%;%CD%\GTOOLS\;%PATH%
SET CPTMP=%CD%
CMDOW @ /DIS
ECHO SET CPTMP=%CPTMP%>CPTMP.BAT
BINSUB CPTMP.BAT \ \\ /I >NUL
CALL CPTMP.BAT
IF EXIST CPTMP.BAT DEL CPTMP.BAT /Q/F >NUL
CHCP %LAN% >NUL
REM 2.注册程序,因为7.X的AcroPDF.dll注册后浏览器不稳定,所以取消注册
TYPE GTOOLS\GREEN.SVR>GREEN.REG
BINSUB GREEN.REG "D:\\GREEN\\Adobe\\Acrobat 7.0" "%CPTMP%" /I >NUL
REGEDIT /S GREEN.REG >NUL
IF EXIST *.UBK DEL *.UBK /Q/F/S >NUL
IF EXIST GREEN.REG DEL GREEN.REG /Q/F/S >NUL
rem COPY /Y "Reader\Browser\nppdf32.dll" "%CommonProgramFiles%\..\Internet Explorer\PLUGINS\" >NUL
rem COPY /Y Reader\atl71.dll "%windir%\system32\" >NUL
rem regsvr32 /s "%CommonProgramFiles%\..\Internet Explorer\PLUGINS\nppdf32.dll" >NUL
rem regsvr32 /s ActiveX\AcroIEHelper.dll >NUL
rem regsvr32 /s ActiveX\AcroPDF.dll >NUL
rem regsvr32 /s ActiveX\pdfshell.dll >NUL
REM 3.启动并退出程序
START "" "%CPTMP%\Reader\AcroRd32.exe"
@ECHO OFF
EXIT
二.使用WINRAR制作绿色软件安装包
制作成单文件绿色软件固然很好,但是也有自身的缺陷,首先要求软件的自身体积要小,否则运行起来需要很长时间,尽管可以把程序精简再精简;其次有些必须需要注册表支持的软件使用这重方式后会在注册表中留有垃圾,尽管程序运行完成后产生的解压文件被干净清除掉;三是有些程序经常使用,制作单文件绿色软件显得有点画蛇添足,不如制作成绿色安装包,一次安装,一劳永逸.
与制作单文件绿色软件包不同的是,安装程序要求解压到一个固定的目录如D:\GREEN来执行,所以在解压选项-->常规中的解压路径中输入路径(支持WIN变量和自定义变量,如果不是在DOS下批量安装,这里解压目录最好再加上软件名称,如D:\GREEN\Acrobat7,后面将介绍到的制作批量安装包的方法的IPATH路径时则不必加,应为可以使用FOR的变量获取压缩包名为解压目录名),同时在模式中不要选中"解压到临时文件夹";另一个区别是制作绿色软件安装包要求在程序,桌面,快速启动栏等建立快解方式以便用户迅速调用,WINRAR本身具有这个功能,但必须事先在压缩包中设置好,不是很方便,所以采用了第三方软件SHOUTCAU,这个工具可以在批处理GSETUP.BAT中设置建立快解方式(注意与上面批处理的区别).
@ECHO OFF
REM 1.设置运行环境
FOR /F "TOKENS=1,2 DELIMS=: " %%I IN ('CHCP') DO SET LAN=%%J
SET PATH=%CD%;%CD%\GTOOLS\;%PATH%
SET CPTMP=%CD%
CMDOW @ /DIS
ECHO SET CPTMP=%CPTMP%>CPTMP.BAT
BINSUB CPTMP.BAT \ \\ /I >NUL
CALL CPTMP.BAT
IF EXIST CPTMP.BAT DEL CPTMP.BAT /Q/F >NUL
CHCP %LAN% >NUL
REM 2.注册程序,因为7.X的AcroPDF.dll注册后浏览器不稳定,所以取消注册
TYPE GTOOLS\GREEN.SVR>GREEN.REG
BINSUB GREEN.REG "D:\\GREEN\\Adobe\\Acrobat 7.0" "%CPTMP%" /I >NUL
REGEDIT /S GREEN.REG >NUL
IF EXIST *.UBK DEL *.UBK /Q/F/S >NUL
IF EXIST GREEN.REG DEL GREEN.REG /Q/F/S >NUL
rem COPY /Y "Reader\Browser\nppdf32.dll" "%CommonProgramFiles%\..\Internet Explorer\PLUGINS\" >NUL
rem COPY /Y Reader\atl71.dll "%windir%\system32\" >NUL
rem regsvr32 /s "%CommonProgramFiles%\..\Internet Explorer\PLUGINS\nppdf32.dll" >NUL
rem regsvr32 /s ActiveX\AcroIEHelper.dll >NUL
rem regsvr32 /s ActiveX\AcroPDF.dll >NUL
rem regsvr32 /s ActiveX\pdfshell.dll >NUL
REM 3.建立快捷方式
SC /F:"%USERPROFILE%\Application Data\Microsoft\Internet Explorer\Quick Launch\Acrobat Reader7.LNK" /A:C /T:"%CPTMP%\Reader\AcroRd32.exe" & CLS
IF "%LAN%"=="936" (
IF NOT EXIST "%ALLUSERSPROFILE%\「开始」菜单\程序\[◎GREEN◎]" MD "%ALLUSERSPROFILE%\「开始」菜单\程序\[◎GREEN◎]"
SC /F:"%ALLUSERSPROFILE%\「开始」菜单\程序\[◎GREEN◎]\Acrobat Reader7.LNK" /A:C /T:"%CPTMP%\Reader\AcroRd32.exe" & CLS
SC /F:"%ALLUSERSPROFILE%\桌面\Acrobat Reader7.LNK" /A:C /T:"%CPTMP%\Reader\AcroRd32.exe" & CLS )
IF "%LAN%"=="950" (
IF NOT EXIST "%ALLUSERSPROFILE%\「開始」菜單\程序\[◎GREEN◎]" MD "%ALLUSERSPROFILE%\「開始」菜單\程序\[◎GREEN◎]"
SC /F:"%ALLUSERSPROFILE%\「開始」菜單\程序\[◎GREEN◎]\Acrobat Reader7.LNK" /A:C /T:"%CPTMP%\Reader\AcroRd32.exe" & CLS
SC /F:"%ALLUSERSPROFILE%\桌面\Acrobat Reader7.LNK" /A:C /T:"%CPTMP%\Reader\AcroRd32.exe" & CLS)
IF "%LAN%"=="437" (
IF NOT EXIST "%ALLUSERSPROFILE%\「START」MENU\PROGRAM" MD "%ALLUSERSPROFILE%\「START」MENU\PROGRAM"
SC /F:"%ALLUSERSPROFILE%\「START」MENU\PROGRAM\[◎GREEN◎]\Acrobat Reader7.LNK" /A:C /T:"%CPTMP%\Reader\AcroRd32.exe" & CLS
SC /F:"%ALLUSERSPROFILE%\DESKTOP\Acrobat Reader7.LNK" /A:C /T:"%CPTMP%\Reader\AcroRd32.exe" & CLS)
CLS
REM 3.启动并退出程序
START "" "%CPTMP%\Reader\AcroRd32.exe"
@ECHO OFF
EXIT
三.其他问题
1.如何更换自解压文件图标:
有两种更换方式,一是更换Default.sfx模扳中的默认图标,这个可以参考问题2的方式进行;二是使用自解压选项来设置,这里只介绍这个方法.
首先准备好32X32的256色ICO文件(如果不是32X32的256色ICO文件则打包后还是默认图标),如何制作ICO文件不在本文探讨之内,不过建议使用EXESCOPE直接在其他DLL,EXE文件中提取,很多这类文件都都包含有标准的32X32的256色ICO图标.
其次,自解压选项-->文本和图标中选择刚才创建的ICO文件即可.
2.如何美化自解压安装界面(对RAR命令行无效)
其实WINRAR也可以制作出看起来比较专业的安装程序,不过对于比较大型的复杂软件的安装则有点无能为力,因为常用做绿色软件的安装手段之一.这里先强调,要使用漂亮的安装界面,不应该使用安静模式,即需要先把自解压选项高级中的安静模式改为:全部显示,不然就看不到漂亮的效果.
下面就安装解压界面图片,解压的启动对话框的软件说明信息设置,软件许可界面设置分别讲述.
A.更换安装界面图片
首先使用UPX Shell脱掉Default.sfx的外衣(干什么?别紧张,不脱就没法干事!);其次使用EXESCOPE或ResHacker打开脱壳之后Default.sfx文件并修改位图下101下的图片为相应大小为93X302的BMP图片;最后把修改后的Default.sfx替换回去.OK,搞定了,简单吧?这样之后自解压界面图片就永远生根了,如果想换成其他图片,只有再修改了,当然要临时更换一个图片那么就可以参考问题一的步骤进行,WINRAR本身也提供了更换自解压界面图片的功能.另外说明一点,使用这个方法也可以更换自解压文件的图标.
B.设置软件许可说明
软件安装可以设置许可说明,这样让用户更多的了解软件许可等版权问题.方法很简单,自解压选项-->文本和图标,说明内容同样可以从需要压缩的文本文件README中提取.
C.设置启动对话框的软件说明信息
在安装软件的过程中,为了增强用户对软件信息和安装使用说明的了解,可以设置说明信息,方法也很简单,,自解压选项-->许可中设置,许可内容可以从需要压缩的文本文件中提取,这样比较方便.
3.如何使用WINRAR创建快捷方式
WINRAR提供了创建快捷方式的方法,但是具有局限性,一是必须在WINRAR打包时制作,不是很灵活,二是制作时不能在程序菜单中创建文件夹的方式来添加.其实制作WINRAR快捷方式很简单,在自解压选项高级中的创建快捷方式中按下面的命令输入即可:目标位置(P程序菜单,S开始菜单,D桌面,T启动), "目标程序", "目标文件夹(可以不要)", "描述文字", "快捷方式名称"
见如下面的例子:
S, "Reader\AcroRd32.exe", "", "我制作的多语言版本PDF阅读工具", "Acrobat7G"
P, "Reader\AcroRd32.exe", "", "我制作的多语言版本PDF阅读工具", "Acrobat7G"
D, "Reader\AcroRd32.exe", "", "我制作的多语言版本PDF阅读工具", "Acrobat7G"
T, "Reader\AcroRd32.exe", "", "我制作的多语言版本PDF阅读工具", "Acrobat7G"
4.如何使用RAR或WINRAR在命令行调用自解压参数
为了让WINRAR制作的软件既能在CMD模式下批量安装(批量安装可以参考我作的一键安装管理器),同时又可以在图形模式下安装,那么可以在CMD下使用相关的自解压参数来实现,常见的命令参数有:
PATH:解压目标路径,因为和CMD的PATH有冲突,所以可以使用CMD的SET重新定义一个IPATH来调用可以解决这个问题;SETUP:解压后运行,我这里固定为SETUP=GSETUP.BAT;Presetup:解压前运行指定程序,一般只用于更新安装时删除旧版程序时有用;Delete:解压前删除文件,如果要删除多个文件可以使用空格分开,这个参数一般也只用于更新安装;Shortcut:添加快捷方式,这个参数比较有用,可参考问题3的说明,如果有多个快捷方式,要多次使用此命令参数;TempMode:解压到临时文件夹,这个命令可以不用任何参数,也可以使用TempMode=[问题叙述][@窗口标题文本]来让用户决定是否继续安装,还需要注意的是这个命令如果是单文件绿色软件安装则可采用这个模式,同时还需要有Setup命令配合且不得使用path命令,同时该命令会自动使用安静模式,如果是非单文件绿色版本则不要使用这个程序,因为构成间接解压,可能需要很长时间;Silent:安静模式,如果为0则全部显示,为1则全部隐藏;Overwrite覆盖模式,如果为0则覆盖前询问,为1时全部覆盖,为2时跳过已有文件;Title:自解压标题,Text自解压窗体显示文本,支持HTML语言;IICON:定义自解压文件的图标,如把c:\myfiles文件夹的内容添加到setup.exe自解压文件中,使用图标c:\myicons\ver1.ico 作为自解压文件的图标则可以使用winrar a -sfx -iiconc:\myicons\ver1.ico setup.exe c:\myfiles命令;License:授权信息,格式为License=<许可协议对话框标题>{许可协议文本1 许可协议文本2}
5.如何使用注释来屏蔽脚本信息
在制作WINRAR压缩包的时候,我们前面使用的那些自解压的参数都会在压缩包的注释中显示,这样就暴露了压缩包的参数,如果你里面有危险的程序调用话,哈哈,那就被逮个正着,很多病毒程序和黑客程序就是使用屏蔽注释+自解压到临时文件运行程序来逃过我们的眼睛的.你可以在压缩程序时的注释中删除这些注释信息.利用好注释好有一个很好的用途,很多安装管理器都是单独建立一个同名的TXT文件来说明软件信息,其实可以利用在压缩程序时添加注释文件在批处理安装(见我的一键安装管理器)时使用RAR -C命令读取注释即可,需要说明的是写注释时不要使用:,不要分段分行,但可以使用HTML语言,否则获取的注释可能不全或无法获取注释.
[ Last edited by HUNRYBECKY on 2007-3-28 at 03:53 AM ]
此帖被 +8 点积分 点击查看详情 评分人:【 lxmxn 】 | 分数: +8 | 时间:2007-3-29 01:40 |
|
|
|