Chinaunix首页 | 论坛 | 博客
  • 博客访问: 234799
  • 博文数量: 75
  • 博客积分: 2005
  • 博客等级: 大尉
  • 技术积分: 790
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-27 14:54
文章分类

全部博文(75)

文章存档

2009年(2)

2008年(5)

2006年(25)

2005年(42)

2004年(1)

我的朋友

分类: WINDOWS

2006-12-26 09:05:03

这个世界软件无数,由于一些软件的绿化特性,一些夸张的作者们不但加了壳,还编译了安装脚本,让它的软件可以确保“万无一失”。
但是,早在前几年出现的一些可调整、输出安装包的工具、命令行使那些软件的安装包成为了摆设,从此,绿色软件便诞生了。
为了应付这些工具、命令行,软件作者们使用了各种版本的脚本编译器,不断对脚本进行复杂化操作,想继续杀猫。
但是他们万万没想到的是,某个软件已经彻底破解了这些软件的编译技术,在集成了各种解包工具、命令行的同时,它又提供了简便的界面与傻瓜化的操作,这让“通杀”成为了现实。
这个软件的名字,就叫“Universal Extractor”(以下简称“UE”)。
这款号称“通吃所有安装包”的软件(实际上并不是,对于一些特殊或没被破解的安装技术来说,它还是个摆设),实际上是集成了所有已知的解包工具、命令行的综合,也就是说它根本是一个傻瓜化的前台程序。在它简洁的操作界面的背后,还是由命令行、工具包进行的解包操作。只要稍微懂点软件绿化技术的朋友一定可以看出BIN目录下的文件到底是干什么用的。可惜的是就目前来说,它对于国内的一些安装包编译器(比如“Tiger Installer”、“肥猫安装制作”跟“小颖安装程序制作专家”这几款深有名气的安装包编译器)以及国外的一些特殊安装包(比如WINDOWS下的MSI格式、LINUX下的RPM)根本不起作用,这实在是一大缺陷。
本文就是要大家可以结合Universal Extractor进行简单软件的绿化制作,让大家知道绿色软件的制作其实并不难,难就难在你肯不肯细心学而已。
以下,我将举出我绿化的一些软件的绿化过程,希望对大家有所帮助。

一、RealMedia DirectShow splitter 1.0.1.1的分解安装
说明:这是RealMedia的DirectShow分离器,也就是所谓的解码器。装上这个后,可以让原本不支持RM、RMVB的播放器支持这几个文件的播放,当然前提是目标播放器必须支持DirectShow层播放,否则就没意义了。不过就目前来说,似乎所有的播放器都支持的样子(部分专用格式播放器与音频播放器除外),所以大家可以自己动手制作这个软件的绿色安装版本,或者用编译器进行属于自己的版本的制作。
步骤:
1、用UE把安装包解包(个人推荐用CODEC PACK作为解码包样本进行解码器的剥离,K-LITE的话没有一定实力是绝对脱不出来的),如果可以识别的话就可以看到安装包目录下有个与安装包同名的文件夹(可以在UE里设置,默认是在安装包同目录下生成同名文件夹目录,里面存放的是该安装包的)。进入该文件夹,可以看到一个install_script.iss文件与{sys}、embedded目录,说明该安装包是采用INNO进行编译的,这样绿化也容易的多。
2、用记事本工具打开install_script.iss文件,可以看到以下内容(不包括后边的标记内容):
[Setup]                                                                   ——安装脚本开始标记
AppName=RealMedia DirectShow splitter 1.0.1.1 BY 龙梦秋                   ——安装包的标题
AppVerName=RealMedia DirectShow splitter                                  ——安装包在系统安装后的标题
DefaultDirName={pf}\RealMedia                                             ——安装包的安装位置,{pf}代表系统Program Files目录
WizardImageFile=embedded\WizardImage.bmp                                  ——安装包左边的图案,embedded是临时目录
WizardSmallImageFile=embedded\WizardSmallImage.bmp                        ——安装包上边的图案,embedded是临时目录
[Files]                                                                   ——描述安装包的文件以及该文件的目录、安装位置等。
Source: "{sys}\atrc.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion      ——要复制的文件的目录与文件,前一个{sys}代表安装包临时目录下的目录,后一个{sys}代表系统目录下的system32目录;Tasks: "RealMedia"代表该操作是在选定了RealMedia项后进行的操作,如果在后面没有选定则不进行该操作;Flags: overwritereadonly ignoreversion代表强制覆盖只读文件并忽略提示,下同。
Source: "{sys}\cook.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\drv1.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\drv2.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\drvc.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\hxltcolor.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\pncrt.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\rv10.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\rv20.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\rv30.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\rv40.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\sipr.dll"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "{sys}\RealMediaSplitter.ax"; DestDir: "{sys}"; Tasks: "RealMedia"; Flags: overwritereadonly ignoreversion
Source: "embedded\WizardImage.bmp"; DestDir: "embedded";                  ——复制到临时目录下的文件,DestDir: "embedded"是代表在用户的TEMP目录下建立一个带TEMP名的目录(其他字节则是随机的)并将embedded目录下的该文件复制进去作为安装包向导模式的图案。下同。
Source: "embedded\uninstall.exe"; DestDir: "embedded";                    ——INNO安装包特有的卸载程序。
Source: "embedded\WizardSmallImage.bmp"; DestDir: "embedded";
Source: "embedded\decompressor.dll"; DestDir: "embedded";                 ——INNO安装包特有的解包插件,在解包后自动注册到当前系统,安装完毕后自动解除注册并删除自身。
[Run]                                                                     ——安装完毕后要执行的操作
Filename: "{sys}\regsvr32.exe"; Parameters: "/s {sys}\RealMediaSplitter.ax"; Tasks: "RealMedia";       ——该安装脚本在这里进行了RealMediaSplitter.ax插件的注册,并指明了是选定了RealMedia项后进行的操作。/s是指不在注册后出现操作信息。
[UninstallRun]                                                            ——卸载时要执行的首要操作
Filename: "{sys}\regsvr32.exe"; Parameters: "/s /u {sys}\RealMediaSplitter.ax"; Tasks: "RealMedia";    ——与Run段相反,这里进行了RealMediaSplitter.ax插件的反注册,卸载完毕后以上文件都将被从系统中删除。
[Tasks]                                                                   ——安装脚本里的操作项目
Name: "RealMedia"; Description: "RealMedia DirectShow splitter 1.0.1.1";  ——指定了RealMedia DirectShow splitter 1.0.1.1的操作项为RealMedia,也就是只有选定了RealMedia DirectShow splitter 1.0.1.1才会进行RealMedia项的操作。
至此,该软件的安装过程已经非常明显了:把{sys}目录下的文件复制进system32目录后再用regsvr32命令把RealMediaSplitter.ax插件注册进系统就算完成安装。
那么,既然已经知道了它的安装过程,我们该如何进行软件的绿化呢?这时候当然要请出我们万能的BAT啦~~
说明:BAT文件在微软官方定义里为MS-DOS批处理文件,里面存放的可以是需要批量操作的命令行,也可以是一些提示信息,或者两者都有。我最近经常利用它的信息显示功能进行一些绿色软件的“安装”脚本的编写,使原本几乎是不可能完成的事情成为了现实,并可以写出完美的安装脚本。
但由于本篇只用来介绍简单的绿化制作,所以将不会涉及到高级代码知识。
由于仅仅是把文件复制进系统并进行插件的注册,所以安装部分代码可以写成下面这样(不包括后面的注释):
copy {sys}\*.* %windir%\system32\*.*                                     ——把{sys}目录下的所有文件都复制进system32目录
regsvr32 /s RealMediaSplitter.ax                   ——注册RealMediaSplitter.ax插件
相对的卸载脚本则可以写成如下样式(不包括后面的注释):
regsvr32 /u /s RealMediaSplitter.ax                ——反注册RealMediaSplitter.ax插件
del %windir%\system32\atrc.dll                                           ——删除system32目录下的atrc.dll文件,下同。
del %windir%\system32\cook.dll
del %windir%\system32\drv1.dll                                           ——这里可用通配符“*”来代表数字,也就是说可以跟下边的drv2.dll写成一行,名字当然就成了drv*.dll,这样可以省下一行。下边的rv10.dll到rv40.dll一样可以写成rv*0.dll,省掉3行。
del %windir%\system32\drv2.dll
del %windir%\system32\drvc.dll
del %windir%\system32\hxltcolor.dll
del %windir%\system32\pncrt.dll
del %windir%\system32\rv10.dll
del %windir%\system32\rv20.dll
del %windir%\system32\rv30.dll
del %windir%\system32\rv40.dll
del %windir%\system32\sipr.dll
del %windir%\system32\RealMediaSplitter.ax
3、将以上两部分分别保存成“安装.BAT”与“卸载.BAT”两个文件(别跟偶说你不知道怎么保存成BAT格式……),放到刚才脱出的目录里,然后把embedded文件夹跟install_script.iss文件删除,然后把该目录下的文件全部打包后就成了属于你的绿色版咯~~

二、AviSynth 2.5.5的分解安装
说明:经常做视频相关工作的人一定认识这个东西(否则就不合格哦~~),它可是视频剪接、切换、整合的极品哦!不过默认是要安装的,虽然不会污染系统,不过不做成绿色版实在不舒服呢~~所以,这次拿它开刀。
步骤:
1、用UE脱出脚本,发现是NSIS编译器所编译的安装包(这个有点麻烦呢)。解包后的文件目录下出现几个目录,分别是$0、$PLUGINSDIR、$SYSDIR、Docs、Examples目录,以及[NSIS].nsi、gpl.TXT文件。由于我们只需要主要的文件,所以将Docs、Examples、$PLUGINSDIR目录以及脚本中相关部分删除(为了省点篇幅,因为一长起来看了人会头晕的……)。
2、读取[NSIS].nsi文件,内容如下(精简后的只包括插件注册部分的脚本,删除了所有多余代码,不包括后面的注释):
SetOutPath $SYSDIR                                           ——提示以下文件将复制进system32目录
File avisynth.dll                                            ——复制进system32目录的文件,下同。
File devil.dll
IfFileExists $SYSDIR\msvcp60.dll 178 0                       ——这里指明了如果系统没有在使用msvcp60.dll,那么直接覆盖
File msvcp60.dll
StrCmp  "$0" "" 184 186 0                                    ——输出$0目录到临时目录
SetOutPath $INSTDIR\plugins                                  ——在安装目录下建立plugins目录
StrCpy $0 "$INSTDIR\plugins"                                 ——将$0目录里的文件全部复制到安装目录下的plugins目录
SetOutPath $0
File DirectShowSource.dll                                    ——原$0目录里的文件,下同。
File TCPDeliver.dll
File colors_rgb.avsi
另外,由于采用了注册表编写,而注册表部分在NSIS脚本里却是以数字方式表示,实在是无法判断到底写了哪些键值,所以只能手动寻找。以下是安装时输入到注册表里的内容(安装/卸载信息除外):
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="C:\\Program Files\\AviSynth 2.5"
"plugindir2_5"="C:\\Program Files\\AviSynth 2.5\\plugins"
[HKEY_CLASSES_ROOT\avsfile]
@="AviSynth Script"
[HKEY_CLASSES_ROOT\avsfile\DefaultIcon]
@="C:\\WINDOWS\\System32\\AviSynth.dll,0"
[HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
@="AviSynth"
[HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
@="AviSynth.dll"
"ThreadingModel"="Apartment"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\avs]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avsfile]
@="AviSynth Script"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avsfile\DefaultIcon]
@="C:\\WINDOWS\\System32\\AviSynth.dll,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
@="AviSynth.dll"
"ThreadingModel"="Apartment"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache\AviSynth]
"SlowInfoCache"=hex:28,02,00,00,00,00,00,00,00,20,05,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00
"Changed"=dword:00000000
[HKEY_USERS\S-1-5-21-1757981266-1844823847-725345543-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\avs]
从以上键数可以看出,该软件并未注册到系统里,而是采用了修改注册表的方法实现了自身的加载,那么我们也可以省去注册插件的步骤,直接进行复制、注册表导入的操作就可以了。
3、虽然可以通过编写BAT文件实现注册表的改写,但考虑到一些键值的危险性,我推荐采用注册表文件导入的方式进行注册表的改写。
完整的注册文件内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
@="C:\\Program Files\\AviSynth 2.5"
"plugindir2_5"="C:\\Program Files\\AviSynth 2.5\\plugins"
[HKEY_CLASSES_ROOT\avsfile]
@="AviSynth Script"
[HKEY_CLASSES_ROOT\avsfile\DefaultIcon]
@="C:\\WINDOWS\\System32\\AviSynth.dll,0"
[HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
@="AviSynth"
[HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
@="AviSynth.dll"
"ThreadingModel"="Apartment"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\avs]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avsfile]
@="AviSynth Script"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avsfile\DefaultIcon]
@="C:\\WINDOWS\\System32\\AviSynth.dll,0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}\InProcServer32]
@="AviSynth.dll"
"ThreadingModel"="Apartment"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache\AviSynth]
"SlowInfoCache"=hex:28,02,00,00,00,00,00,00,00,20,05,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,ff,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00
"Changed"=dword:00000000
[HKEY_USERS\S-1-5-21-1757981266-1844823847-725345543-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\avs]
将以上内容保存成install.reg文件后(文件名随意,只要等下在BAT脚本里改写一下就可以了),开始编写BAT文件的安装部分,内容如下(不包括后面的注释):
copy $SYSDIR\*.* %windir%\system32\*.*                         ——复制$SYSDIR目录下的所有文件到system32目录
md %programfiles%\AviSynth 2.5\plugins                         ——在programfiles目录下建立AviSynth 2.5目录,并在该目录下再建立一个plugins目录
xcopy $0 %programfiles%\AviSynth 2.5\plugins /S /Q             ——把$0目录下的文件全部复制到上边的plugins目录
Regedit /s install.reg                                         ——将刚才保存的注册表项导入到注册表中,并不显示任何提示
要卸载的话就又要编写个卸载专用的注册表项,内容如下:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth]
[-HKEY_CLASSES_ROOT\avsfile]
[-HKEY_CLASSES_ROOT\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\avs]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\avsfile]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E6D6B700-124D-11D4-86F3-DB80AFD98778}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache\AviSynth]
[-HKEY_USERS\S-1-5-21-1757981266-1844823847-725345543-1003\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU\avs]
将以上内容保存成uninstall.reg,开始编写卸载用的BAT文件,内容如下(不包括后面的注释):
Regedit /s uninstall.reg
rd %programfiles%\AviSynth 2.5
del avisynth.dll
del devil.dll
4、将安装跟卸载用的那4个文件放进AviSynth 2.5.5目录下,打包即可。

三、右键菜单背景替换 BY 龙梦秋的分解安装
说明:这是我当初从VISTA风格包里解出来的一个小插件,其他插件的注册跟这个差不多,具体可以参考解包后的BAT安装脚本。这里所写的是我的脚本的源代码,希望对大家有点作用哈~~
1、用UE脱出VISTA风格包里的ContextBG.dll文件。
2、编写安装脚本并保存成“安装.BAT”文件(不包括后面的注释):
copy ContextBG.dll %windir%\System32\ContextBG.dll                 ——因为怕有的人把文件删除后损坏右键的背景,所以这里先把文件复制到System32目录里,确保了文件的安全性。
regsvr32 /s %windir%\System32\ContextBG.dll                        ——直接注册该文件到系统里
3、编写卸载脚本并保存成“卸载.BAT”文件(不包括后面的注释):
regsvr32 /u /s %windir%\System32\ContextBG.dll                     ——反注册该文件并不提示任何信息
del %windir%\System32\ContextBG.dll                                ——删除该文件
4、将两个BAT文件与ContextBG.dll放一个目录下,打包即可。

四、智能ABC输入法 5.0 重封装版 BY 龙梦秋的分解安装
说明:这是我为了一些习惯5.0的用户所DUMP的版本,没什么意义,但是里面的脚本可以当作参考。由于部分代码涉及到一些比较复杂的操作,所以这里只拆出带有自动备份输入法以及恢复到原来版本的智能ABC的部分代码。
另外,这里虽然是使用了别的命令,但是对于一些更新版本的安装包也是一样的步骤,仅仅是第一步修改了一下而已。
步骤:
1、从官方XP安装光盘里用EXPAND命令把5.0版需要的WINABC.CWD、WINABC.IME、WINABC.OVL、WINABC.hlp文件解压到一个临时目录中备用,然后到绿站下载imetool,把里面的imetool.exe一并放入该目录。
2、编写带自动备份功能的安装脚本并保存成“安装.BAT”文件(不包括后面的注释):
copy %windir%\System32\WINABC.CWD %windir%\System32\WINABC.CWD-old         ——备份老版本的智能ABC,下同。
copy %windir%\System32\WINABC.IME %windir%\System32\WINABC.IME-old
copy %windir%\System32\WINABC.OVL %windir%\System32\WINABC.OVL-old
copy %windir%\System32\WINABC.hlp %windir%\System32\WINABC.hlp-old
copy imetool.exe %windir%\System32\imetool.exe                             ——将imetool.exe复制到System32目录
imetool.exe /del3:WINABC.IME                                               ——用imetool的命令行把当前系统里的智能ABC删除
copy WINABC.CWD %windir%\System32\WINABC.CWD                               ——复制5.0版的智能ABC文件,下同
copy WINABC.IME %windir%\System32\WINABC.IME
copy WINABC.OVL %windir%\System32\WINABC.OVL
copy WINABC.hlp %windir%\System32\WINABC.hlp
%windir%\System32\imetool.exe /install:智能ABC输入法 5.0,WINABC.IME        ——将5.0版以“智能ABC输入法 5.0”命名安装到系统中
del %windir%\System32\imetool.exe                                          ——删除残留在系统中的imetool.exe
3、编写恢复到原先系统里的智能ABC版本的脚本并保存成“卸载.BAT”文件(不包括后面的注释):
imetool.exe /del3:WINABC.IME                                               ——删除当前系统里的智能ABC版本,
DEL %windir%\System32\WINABC.CWD                                           ——删除当前系统里的智能ABC文件,下同。
DEL %windir%\System32\WINABC.IME
DEL %windir%\System32\WINABC.OVL
DEL %windir%\System32\WINABC.hlp
rename %windir%\System32\WINABC.CWD-old %windir%\System32\WINABC.CWD       ——恢复原先系统里的智能ABC版本文件,下同。
rename %windir%\System32\WINABC.IME-old %windir%\System32\WINABC.IME
rename %windir%\System32\WINABC.OVL-old %windir%\System32\WINABC.OVL
rename %windir%\System32\WINABC.hlp-old %windir%\System32\WINABC.hlp
copy imetool.exe %windir%\System32\imetool.exe                             ——将imetool.exe复制到System32目录
%windir%\System32\imetool.exe /install:智能ABC输入法,WINABC.IME            ——将原先版本以“智能ABC输入法 5.0”命名安装到系统中
del %windir%\System32\imetool.exe                                          ——删除残留在系统中的imetool.exe
4、将智能ABC的文件与两个BAT文件放一个目录下,打包即可。

五、Vista主题包V2 BY 龙梦秋的分解安装
说明:从VISTA风格包里解出来的VISTA风格主题包的修正版,以下提供的是源代码。有能力的可以自己试下把VISTA风格包解包了做成属于自己的主题包,很简单的~~
这里大家可以用我的主题包做实验,以下内容也是我的主题包里的内容哦~~
步骤:
1、用UE脱出该主题的相关文件,放到一个VISTA目录下。
2、编写安装脚本并保存成“安装.BAT”文件(不包括后面的注释):
copy Vista.theme %windir%\Resources\Themes\Vista.theme                   ——复制主题文件到主题目录下
md %windir%\Resources\Themes\Vista                                       ——建立VISTA主题目录
xcopy Vista %windir%\Resources\Themes\Vista /S /Q                        ——复制整个文件夹到VISTA主题目录下
rename %windir%\system32\logonui.exe old-logonui.exe                     ——备份系统原有登陆界面
copy logonui.exe %windir%\system32\logonui.exe                           ——将新的登陆界面复制进系统代替原有界面
%windir%\Resources\Themes\Vista\drivericon\vsdrv.exe                     ——运行VISTA风格硬盘图标程序
ric.exe                                                                  ——重建图标缓存,这是我另外加上的小程序
3、编写卸载脚本并保存成“卸载.BAT”文件(不包括后面的注释):
del %windir%\system32\logonui.exe                                        ——删除安装时复制的登陆界面文件
rename %windir%\system32\old-logonui.exe logonui.exe                     ——恢复原来版本的登陆界面
del %windir%\Resources\Themes\Vista.theme                                ——删除VISTA主题文件
RD /s /q %windir%\Resources\Themes\Vista                                 ——删除VISTA主题目录
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons /f >nul    ——这一行是取消VISTA风格硬盘图标的注册项目,在这里表示删除改键值。由于这部分脚本很危险,所以必须请有经验的人编写。
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Vistadrv /f >nul        ——同上。
ric.exe                                                                  ——重建图标缓存
4、将两个BAT文件与主题文件、重建图标缓存程序放一个目录下,打包即可。
阅读(1810) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~