无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 31007|回复: 74
打印 上一主题 下一主题

1020更新:补丁制作工具 Xdelta GUI版(增加了MD5生成和验证功能)

[复制链接]
跳转到指定楼层
1#
发表于 2010-10-12 21:35:32 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
感谢 plutoshen 的介绍才能让我用到这么好的工具,超级好用,严重推荐!!

为配合全自动补丁包,增加MD5功能,配置文件可以全自动生成,不必再编辑添加MD5值了,,不多说,看图......

通用于桌面Windows系统及PE,通用于所有格式的文件。
这个工具只是二进制算法的文件比较工具,不会对目标的文件进行任何改动,只是创建补丁文件或新文件,可以放心使用。








1020说明: XdeltaGui.rar (240.25 KB, 下载次数: 3598)
——————————————————————————————————————————————

01.生成补丁文件后,将弹出“是否创建Xdelta_Auto配置文件”的提示,
如选择“是”,将在补丁文件的同级目录创建 XdeltaAuto.ini





02.集成“Xdelta_Auto”,一个程序两用!
程序启动时,会首先搜索XdeltaAuto.ini配置文件及配置文件中的补丁包名称,如符合双重条件,则启动“自动应用补丁程序”,否则,启动界面版








03.i当选择“应用补丁”选项时,自动查找原始文件同级目录下,与原始文件同名的.DELTA补丁文件,,如存在,则全自动设置“应用补丁(创建新文件)”窗口。

04.成功操作后,自动记忆原始文件位置,再次启动程序时,如原始文件存在,将自动设置此文件为原始文件。

 如未知情况操作失败,将删除预设文件,再次启动时将变为初始状态。


——————————————————————————————————————————————




制作全自动应用补丁包的步骤:

——————————————————————————————————————————————

一、用Xdelta GUI版制作出补丁文件,在最后弹出的窗口中,可选择自动生成.ini配置文件,1020版之后,将自动生成原始文件的MD5的值,只要编辑一下自己的标题名称就可以了。

二、也可手动对 XdeltaAuto.ini 的红色部分进行编辑(注意:所有文件名称不要带后缀名)
`标题名称
Envi Prog2=
网虫2008_WinPE 专用补丁工具

`原始文件MD5值
Envi oldmd5=47af87fa85e257c9ac68b2949e60858b
`原始文件后缀名
Envi zkm=
ISO
`原始文件名称
Envi oldfile=
【网虫2008】完整版_WinPE20101010_维护盘E
`补丁文件名称
Envi deltafile=%CurDir%\1010-1018
`生成新文件的名称
Envi newfile=
【网虫2008】完整版_WinPE20101018_维护盘E
`错误提示的内容
Envi md5=请确认原始文件没有被编辑,且MD5为:
47af87fa85e257c9ac68b2949e60858b


三、右键选中 XdeltaGui.exe、XdeltaAuto.ini与补丁文件,制作7z或WinRAR等格式的自解压文件,设置解压到临时路径,解压后执行 XdeltaGui.exe


制作自解压单文件版教程


——————————————————————————————————————————————





引用:
Xdelta 是一个应用程序, 为了计算出两个文件之间的变化. 这些变化 (deltas) 是类似输出的 'diff'程序,因为它们可能被用来存储和传输文件之间的变化. 然而, 不像 diff,Xdelta 其输出不是为了让人们阅读的格式 -- Xdelta 也可以同样适用于这些 deltas复制到原始文件的副本. Xdelta 使用快速线性算法对比二进制文件和文本文件.想要创建一个 '.delta' 文件, 你需要有二份的原始文件, 一个 '老旧的' 和一个 '新' 文件.通过对比新的和老旧文件之间的差异生成新的增量后缀为 '.delta'文件.有了这份 '.delta'文件, 只要你有原始的“老旧文件”你就创造出一份和原始一样的“新文件”.这样说起来好像很复杂,我简单解释下,例如veket系统,新版本是在旧版本上边更新而来的,如果重新发布的话,大家是需要重新下载一份iso的,但是大家都已经下载过旧版的了,为了更新又需要重新下载一个完整的iso会显得很麻烦,如果veket的发布者们采用 '.delta'的方式来发布更新会更方便,就是只要veket的打包者们通过Xdialog来对比新版veket的iso和旧版的iso之间的差异生成一份'.delta'文件,\n这样一来,只要那些下载过旧版veket的用户,只要下载这份'.delta'文件回去,很容易就升级到新版veket了,因为'.delta'文件只是代表新版veket和旧版veket之间的差异,\n容量比起整个iso光盘是小得多的.xdialog的作用不止于此,只是举例向大家说明它的作用.这个图形界面可以令你很轻松地通过拖动来创建 .delta 文件, 这个程序搜索并找到原来的老旧文件. 或者, 点击拖动一份 .delta 文件到 ROX文件管理器的窗口以恢复原有的新文件.

[ 本帖最后由 网虫2008 于 2011-2-18 17:00 编辑 ]
2#
 楼主| 发表于 2010-10-12 21:37:04 | 显示全部楼层

内置 xdelta3.exe 与. INI 到 PECMD.EXE ,这是源代码:

_SUB w_autoini
Envi @label1=正在读取原始文件的MD5值,请稍等...
MD5C %old%,oldmd5
FDIR ph=%delta%
FEXT okzm=%old%
NAME oname=%old%
NAME dname=%delta%
NAME nname=%new%
EXEC =!cmd /c "echo Envi Prog2=Xdelta_Auto工具  by 网虫2008>%ph%\XdeltaAuto.ini
EXEC =!cmd /c "echo Envi oldmd5=%oldmd5%>>%ph%\XdeltaAuto.ini
EXEC =!cmd /c "echo Envi zkm=%okzm%>>%ph%\XdeltaAuto.ini
EXEC =!cmd /c "echo Envi oldfile=%oname%>>%ph%\XdeltaAuto.ini
EXEC =!cmd /c "echo Envi deltafile=^%CurDir^%\%dname%>>%ph%\XdeltaAuto.ini
EXEC =!cmd /c "echo Envi newfile=%nname%>>%ph%\XdeltaAuto.ini
EXEC =!cmd /c "echo Envi autoread=请确认原始文件没有被编辑,且MD5为:%oldmd5%>>%ph%\XdeltaAuto.ini
_END
_SUB ynautoini
TEAM MESS ▉ %read3% @通知:#YN *0 $N
FIND $%YESNO%=YES,TEAM Envi YESNO=|Call w_autoini
_END
_SUB w_ini
EXEC =!cmd /c "echo Envi old=%old%>%tempph%
FIND $%setbd%=y,Call ynautoini!MESS ▉ %read3% @通知:#ok *0
WAIT 500
TEAM FDIR Open=%delta%|FIND $%Open%=%CurDir%,!EXEC %Open%
_END
_SUB go,
FIND $%setbd%=y,TEAM Envi startcs=-e -s|Envi @label1=正在创建补丁文件,请稍等......!TEAM Envi startcs=-d -s|Envi @label1=正在创建新文件,请稍等......
WAIT 500
EXEC !=#101 %startcs% "%old%" "%new%" "%delta%"
WAIT 500
Envi @label1=通知:执行完毕!
FIND $%setbd%=y,Envi read3=已经成功生成补丁文件,\n\n是否创建自动补丁包的配置文件?!Envi read3=已经成功生成打好补丁的新文件!
Envi read4=操作没有成功,请注意文件点选!\n\n点击确认后重新启动程序,\n或尝试将主程序移到其他位置再次执行。
IFEX %delta%,Call w_ini!TEAM MESS ▉ %read4% @通知:#ok *0|FILE %tempph%
KILL \%Prog1%
_END
_SUB del_file
FILE %delta%
WAIT 500
IFEX %delta%,MESS 文件无法删除,\n请返回程序重新选择。@通知: #ok *0!TEAM Envi YESNO=|Call go
_END
_SUB yn_del
IFEX %delta%,MESS 文件已经存在,\n是否删除?@通知: #YN *0 $N!TEAM Envi YESNO=|Call go
FIND $%YESNO%=YES,Call del_file
_END
_SUB set_new2
FIND $%w_%all%%=y,TEAM Envi all=old|Call allName|Envi all=new|Call allName
FIND $%w_delta%=y,Envi @delta=%oldph%\%delta%.%oldkzm%!Envi @delta=%PF_Tag%
_END
_SUB set_new1
FIND $%w_%all%%=y,TEAM Envi all=old|Call allName|Envi all=new|Call allName
IFEX %new%,FIND $%file%=y,Envi @delta=%oldph%\新_%oldname%.%oldkzm%
FIND $%all%=new,FIND $%file%=n,Envi @delta=输入文件名或在补丁文件栏按“回车”或手动选择 >>
_END
_SUB set_delta2
FIND $%w_%all%%=y,TEAM Envi all=old|Call allName|Envi all=new|Call allName
FIND $%w_delta%=y,Envi @delta=%newph%\%delta%.%xkzm%!Envi @delta=%PF_Tag%
_END
_SUB set_delta1
FIND $%w_%all%%=y,TEAM Envi all=old|Call allName|Envi all=new|Call allName
IFEX %new%,FIND $%file%=y,Envi @delta=%newph%\%oldname%.%xkzm%
FIND $%all%=new,FIND $%file%=n,Envi @delta=输入文件名或在目标文件栏按“回车”或手动选择 >>
_END
_SUB allName
FEXT %all%kzm=%%all%%
NAME %all%name=%%all%%
Envi %all%file=%%all%name%\%%all%kzm%
FDIR %all%ph=%%all%%
_END
_SUB set_file
Envi oldts=请选择 原始文件所在目录与名称:
FIND $%setbd%=y,Envi newts=请选择 目标文件所在目录与名称:!Envi newts=请选择 补丁文件所在目录与名称:
FIND $%w_%all%%=y,!BROW PF_Tag,%RP%\*,%%all%ts%,%%all%kzm%
FIND $%PF_Tag%=,!TEAM Envi @%all%=%PF_Tag%|Call allName
IFEX %%all%%,Envi file=y!TEAM Envi @%all%=文件不存在,请重新选择或输入!|Envi file=n|Envi @read=
FIND $%setbd%=y,Call set_delta1!Call set_new1
_END
_SUB apply_file
FIND $%setbd%=y,Envi deltats=请选择 用来储存补丁文件的目录与名称:!Envi deltats=请选择 用来储存新建文件的目录与名称:
FIND $%w_%all%%=y,!BROW PF_Tag,&%RP%\*,%%all%ts%,%%all%kzm%
FIND $%PF_Tag%=,!TEAM Envi @%all%=%PF_Tag%|Call allName
FIND $%setbd%=y,Call set_delta2!Call set_new2
_END
_SUB savefile
FIND $%all%=new,Envi %all%kzm=%xkzm%
FIND $%all%=delta,TEAM FEXT oldkzm=%old%|Envi %all%kzm=%oldkzm%
FIND $%all%=delta,Call apply_file!Call set_file
_END
_SUB makedelta
FIND $%all%=delta,Envi %all%kzm=%xkzm%
FIND $%all%=delta,Call apply_file!Call set_file
_END
_SUB SelecRP
Envi PF_Tag=
IFEX X:\,Envi RP=D:!Envi RP=%CurDir%
IFEX %old%,FDIR RP=%old%
FEXT %all%kzm=%%all%%
FIND $%%all%kzm%=,Envi %all%kzm=*
FIND $%setbd%=y,Call makedelta!Call savefile
IFEX %new%,Envi @read=生成的文件将储存在:%delta%
Envi w_%all%=
Envi all=
_END
_SUB windows1,w453h335,%Prog1%,,XdeltaGui.EXE#1,5,
labe label1,l25t15w320h20,▉ 请按照以下步骤进行详细操作:
grou group1,l15t35w420h40,
labe label2,l25t53w140h20,01.请选择 执行目的:
radi radiobutton1,l155t50w65h20,制作补丁,TEAM Envi bdyn=y|Envi setbd=y|Call make0,%bdno%,
radi radiobutton2,l230t50w140h20,应用补丁(创建新文件),TEAM Envi bdyn=n|Envi setbd=n|Call make0,%newno%,
grou group2,l15t85w420h105,02.设置相关文件:
labe label3,l32t110w60h20,原始文件:
EDIT old,l91t105w305h20,%old%,TEAM Envi w_old=y|Envi md=|Envi all=old|CALL SelecRP,
ITEM Button1,l400t104w25h20,...,TEAM Envi w_old=|Envi md=o|Envi all=old|CALL SelecRP,
labe onebt,l32t138w60h20,%onebt%:
EDIT new,l91t133w305h20,%new%,TEAM Envi w_new=y|Envi md=|Envi all=new|CALL SelecRP,
ITEM Button2,l400t132w25h20,...,TEAM Envi w_new=|Envi md=n|Envi all=new|CALL SelecRP,
labe twobt,l32t164w60h20,%twobt%:
EDIT delta,l91t160w305h20,%delta%,TEAM Envi w_delta=y|Envi md=|Envi all=delta|CALL SelecRP,
ITEM Button3,l400t159w25h20,...,TEAM Envi w_delta=|Envi md=d|Envi all=delta|CALL SelecRP,
grou group3,l15t200w300h70,提示:
labe read,l25t225w280h40,%read%
grou group4,l-5t280w455h10,
ITEM MR_BB,l350t205w60h30,%MR_BB%,Call yn_del,
ITEM Button4,l350t240w60h30,关闭程序,KILL \%Prog1%,
_END
_SUB make2,
IFEX %oldph%\%oldname%.%xkzm%,Envi @new=%oldph%\%oldname%.%xkzm%!Envi %r_new%=拖放 补丁文件到窗口或手动选择 >>
IFEX %oldph%\%oldname%.%xkzm%,Envi @delta=%oldph%\新_%oldname%.%oldkzm%!Envi %r_delta%=输入 不加后缀的文件名称按“回车”或手动选择 >>
IFEX %oldph%\%oldname%.%xkzm%,Envi read=新文件将储存在:%delta%!Envi read=选择补丁文件后(如拖放文件需按回车),将自动设置新文件的储存目录为:原始文件的同级目录\新_原始文件名称
Envi %r_onebt%=补丁文件
Envi %r_twobt%=创建文件
Envi %r_MR_BB%=应用补丁
Envi setbd=n
_END
_SUB make1,
Envi %r_new%=拖放 目标文件到窗口或手动选择 >>
Envi %r_delta%=输入 不加后缀的文件名称按“回车”或手动选择 >>
Envi read=选择目标文件后(如拖放文件需按回车),将自动设置补丁文件的储存目录为:目标文件的同级目录\原始文件名称.%xkzm%
Envi %r_onebt%=目标文件
Envi %r_twobt%=制作补丁
Envi %r_MR_BB%=制作补丁
Envi setbd=y
_END
_SUB make0,
TEAM Envi r_old=old|Envi r_new=new|Envi r_delta=delta|Envi r_MR_BB=MR_BB|Envi r_onebt=onebt|Envi r_twobt=twobt
FIND $%setbd%=,!TEAM Envi [email=r_old=@old|Envi]r_old=@old|Envi[/email] [email=r_new=@new|Envi]r_new=@new|Envi[/email] [email=r_delta=@delta|Envi]r_delta=@delta|Envi[/email] [email=r_MR_BB=@MR_BB|Envi]r_MR_BB=@MR_BB|Envi[/email] [email=r_onebt=@onebt|Envi]r_onebt=@onebt|Envi[/email] [email=r_twobt=@twobt]r_twobt=@twobt[/email]
IFEX %old%,TEAM Envi all=old|Call allName|Envi %r_old%=%old%!Envi %r_old%=拖放 原始文件到窗口或手动选择 >>
FIND $%bdyn%=y,Call make1!Call make2
Envi @read=%read%
_END
_SUB Gui_Xdelta
Envi Prog1=Xdelta Gui版  by 网虫2008 20101020
Envi xkzm=delta
Envi tempph="%temp%\xdelta3_temp.ini"
LOAD %tempph%
TEAM Envi bdyn=y|Envi bdno=1|Envi newno=0
Call make0
call @windows1
_END
_SUB wa_ini
EXEC =!cmd /c "echo Envi old=%old%>%temp%\xdelta3_temp.ini
_END
_SUB windows2,w400h160,%Prog2%,,XdeltaGui.exe,10
NAME newname=%new%
NAME deltaname=%delta%
LABE LABE1,l30t20w390h30,←正在验证原始文件MD5值
LABE LABE2,l40t55w390h50,请稍候......,
LABE LABE3,l40t90w390h20,,
time t2,1000,Call md5yz
_END
_SUB md5yz
ENVI @t2=0
MD5C %old%,yzoldmd5
WAIT 500
FIND $%yzoldmd5%=%oldmd5%,Call a_go!TEAM MESS ▉ 操作没有成功,%autoread% @通知:#ok *0|FILE %tempph%|KILL \%Prog2%
_END
_SUB a_go,
Envi @LABE1=←正在应用补丁文件创建:
Envi @LABE2="%deltaname%.ISO"
Envi @LABE3=请稍候......
WAIT 500
EXEC =!#101 -d -s "%old%" "%new%" "%delta%"
WAIT 500
Call wa_ini
IFEX %delta%,MESS ▉ 已经成功生成打好补丁的“%delta%”文件! @通知:#ok *0
TEAM FDIR Open=%delta%|FIND $%Open%=%CurDir%,!EXEC %Open%
KILL \%Prog2%
_END
_SUB auto_delfile
FILE %delta%
WAIT 500
IFEX %delta%,TEAM MESS 文件无法删除,\n请重新选择。@通知: #ok *0|Call bb!Envi yngo=y
_END
_SUB auto_yndel
IFEX %delta%,MESS 文件已经存在,\n是否删除?@通知: #YN *0 $N
FIND $%YESNO%=YES,Call auto_delfile!Call bb
_END
_SUB a_make
IFEX %delta%,TEAM Envi yngo=n|Call auto_yndel!Envi yngo=y
_END
_SUB bb
IFEX %old%,FDIR RP=%old%!TEAM MESS ▉ 文件不存在,请重新选择! @通知:#ok *0|Call aa
BROW delta,&%RP%\%newfile%.%zkm%,请选择新文件的目录,并输入文件名称:,%zkm%
FIND $%delta%=,!Call a_make
_END
_SUB aa
BROW old,%RP%\%oldfile%.%zkm%,正在自动应用补丁,请选择“%oldfile%.%zkm%”文件,%zkm%
FIND $%old%=,!Call bb
_END
_SUB cc
TEAM MESS ▉ 补丁文件“%new%”不存在,请重新选择! @通知:#ok *0
BROW new,%CurDir%\*.delta,请选择补丁文件所在的目录与名称,delta
FIND $%new%=,!Call aa
_END
_SUB auto_Xdelta
IFEX D:\,Envi RP=D:!Envi RP=%CurDir%
Envi tempph=%temp%\xdelta3_temp.ini
IFEX %tempph%,TEAM LOAD %tempph%|FDIR RP=%old%|Envi old=
Envi new=%deltafile%.delta
IFEX %new%,Call aa!Call cc
FIND $%yngo%=y,Call @windows2
_END
_SUB openset
LOAD %CurDir%\XdeltaAuto.ini
IFEX %deltafile%.delta,Call auto_Xdelta!Call Gui_Xdelta
_END
IFEX %CurDir%\XdeltaAuto.ini,Call openset!Call Gui_Xdelta
Exit

[ 本帖最后由 网虫2008 于 2010-10-20 21:08 编辑 ]

点评

6c8ec 焚天之怒 www.68la.com/read/19/19790/  发表于 2014-9-1 06:47
回复

使用道具 举报

3#
 楼主| 发表于 2010-10-13 09:56:21 | 显示全部楼层
原帖由 plutoshen 于 2010-10-13 09:23 发表
程序自动生成补丁文件名就更好了,比如。补丁文件名定义为 新版文件名-旧版文件名.delta  ................


打补丁时 新版文件名直接从补丁文件名中提取的“新版文件名”。


我已经设定了选择新文件后,自动生成补丁文件名了呀,只不过不是你说的格式,比如我的PE,本来文件名就够长了,要是如你所说的格式,那也太....长了些,呵呵

不过,直接从补丁文件名中提取的“新版文件名”,这个想法好,下次改进,自动生的文件名为 旧版文件名.delta  ,这样容易自动提取了,


哎,原来这个GUI版八月份时就有人做了,我怎么印象呀,

haiou327 (YY写写) 超级版主做的那个GUI也不错呀,就是体积大了点
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=173209&page=4#pid2019643

我下次更新参照一下,把后缀名统一化为.delta,,,再把拖放功能也加上(加拖放功能,编代码反倒比现在的这个要简单的多,开始弄时就是不想让窗口太长,想让文件名称突出一些)
回复

使用道具 举报

4#
 楼主| 发表于 2010-10-13 13:11:31 | 显示全部楼层
原帖由 molingjian 于 2010-10-13 11:25 发表
操作没有成功,可能是文件夹或文件名称含有空格的原因!
不管放到哪都提示这个啊.........

看了半天代码,不知道是哪的原因。用haiou327 的,同样目录的 没有这个现象


我设置了第一次运行后,记忆旧文件的路径,再启动时调用,很可能是这里出了问题,

先不细究了,正在重做支持拖放的功能版,代码正在重写i和整合优化ng...
回复

使用道具 举报

5#
 楼主| 发表于 2010-10-14 14:58:27 | 显示全部楼层
1014更新:Xdelta_补丁制作工具_GUI版(增加文件拖放功能,桌面与PE系统通用、绿软)
回复

使用道具 举报

6#
 楼主| 发表于 2010-10-14 15:01:13 | 显示全部楼层
原帖由 plutoshen 于 2010-10-13 16:07 发表
没必要做得太智能了。

做补丁的人肯定会用命令行,用补丁的人给他个批处理就行了,用不着工具。


这东西,,喜欢用命令行的,,看都不看他一眼,,是做给想用到GUI界面的朋友用的,,那就不能简单单的,如果只弄个界面,和命令行也没区别了。

PS: 做个GUI版,说简单也简单的很,,看我二楼的代码,最后执行的也就是最上面的那么几行罢了。但扔出个界面,省去了DOS窗口手动输入的麻烦这没意义的,关键是要加些判断,,比如自动设置、智能搜索、同名提示......我对这次的代码自我感觉还算满意,请各位PECMD高手和老九大帅批评指教!
回复

使用道具 举报

7#
 楼主| 发表于 2010-10-14 20:01:07 | 显示全部楼层
用过更新版的朋友再给提提建议呀,我好集成到PE中...
回复

使用道具 举报

8#
 楼主| 发表于 2010-10-15 00:47:09 | 显示全部楼层
原帖由 plutoshen 于 2010-10-14 21:24 发表
这次很成功,没有错误。
不知是怎么判断程序是否运行完毕的?
如果文件很大,会不会没有运行完就提示执行完毕?
不如显示一下命令行窗口,让使用者看到是否执行完毕了。


只要执行时加个参数 = 号 就表示等待命令完成再执行下一条命令。

Xdelta.exe 命令行下执行,显示的窗口也没有进度值,加不加没作用哇,,而且程序内置后,只是个黑窗口,什么文字都没有,所以就隐藏了。
回复

使用道具 举报

9#
 楼主| 发表于 2010-10-15 09:32:00 | 显示全部楼层
原帖由 sry 于 2010-10-15 08:49 发表

网虫老大,我采用应用补丁怎么老是不成功


很可能是操作上失误吧,我在各种情况下都测试了,没问题的。

是不是制作补丁时把原始文件和目标文件弄混了??
或者在应用补丁时把原始文件选错了??

别急哈,看好说明,一步步重新开始试试吧!!!

呵呵,,下版弹出的错误通知中,我多写几条可能操作失败的原因!

[ 本帖最后由 网虫2008 于 2010-10-15 09:33 编辑 ]
回复

使用道具 举报

10#
 楼主| 发表于 2010-10-15 10:29:33 | 显示全部楼层
原帖由 sry 于 2010-10-15 10:21 发表

老大帮忙看看,操作上不对吗?


晕呀,,,用不到这个程序的,,

直接双击 下载的.exe 文件就可以
回复

使用道具 举报

11#
 楼主| 发表于 2010-10-15 17:15:22 | 显示全部楼层
自己顶起来,,

我做的这个GUI在高手眼里是小儿科了,,只是对这个xdelta太喜爱了,,希望更多人能了解,,,也希望H3大,水老的大体积PE更新时能考虑这个东西,,
回复

使用道具 举报

12#
 楼主| 发表于 2010-10-15 22:30:26 | 显示全部楼层
原帖由 plutoshen 于 2010-10-15 18:06 发表


现在知道喜爱了?当初是谁怎么都不要的。。。


哈哈,当初没细看,不知道是二进制的比较工具,,也不知道只是个几百K的小东本,,,以为是个很大个的萝卜........
回复

使用道具 举报

13#
 楼主| 发表于 2010-10-16 15:54:04 | 显示全部楼层
原帖由 huyadong 于 2010-10-16 15:18 发表
我刚用网虫大大的Xdelta_补丁制作工具_GUI版,制作了H大刚发布的101015 全功能国庆修正版,更新MMC补丁前后ISO的补丁,但是扩展名是.delta。
很希望能做成想虫大发布补丁时的exe格式文件,可以不依赖Xdelta_补 ...


做成自解压文件了,用WINRAR打开就看到了,

里面的.INI和.EXE都要修改才能变成你的补丁程序,

.EXE 文件要用 ResHacker 3.5 等工具修改 SCRIPE > 101 > 2052 的内容
回复

使用道具 举报

14#
 楼主| 发表于 2010-10-16 16:25:35 | 显示全部楼层
原帖由 huyadong 于 2010-10-16 16:12 发表

多谢虫大回复,刚看了下虫大的1015补丁,难点就是自解压文件里面的exe文件制作。
看来不是我三两天就能搞定的事啦!


补丁文件是用1014的GUI版做的,,自解压里的代码已经去掉了生成补丁的相关内容
回复

使用道具 举报

15#
 楼主| 发表于 2010-10-16 16:35:35 | 显示全部楼层
原帖由 huyadong 于 2010-10-16 16:12 发表

多谢虫大回复,刚看了下虫大的1015补丁,难点就是自解压文件里面的exe文件制作。
看来不是我三两天就能搞定的事啦!


不用几天,几分钟就弄完了,,

自解压中的代码,只要修改一下标题和加载的.INI名称就行了,其他不用动


.................................

Envi Prog1=网虫2008_WinPE 专用补丁工具
LOAD %CurDir%\w8pe_temp.ini
IFEX D:\,Envi RP=D:!Envi RP=%CurDir%
Envi tempph=%temp%\xdelta3_temp.ini
IFEX %tempph%,TEAM LOAD %tempph%|FDIR RP=%old%|Envi old=
Call aa
FIND $%yngo%=y,Call @windows1
Exit


w8pe_temp.ini 的内容也很好理解,每次做自解压前,把新旧文件名称,补丁文件名称和旧文件的MD5换一下就可以了。
回复

使用道具 举报

16#
 楼主| 发表于 2010-10-18 05:45:29 | 显示全部楼层
原帖由 兵河之心 于 2010-10-17 23:16 发表
虫大,
能详解一下,
如何将后缀为delta的补丁制作为您那种自解压文件,
期待写个说明!


到首页下载吧,上传了全自动补丁包制作附件,制作前看下更新说明哈

[ 本帖最后由 网虫2008 于 2010-10-18 07:08 编辑 ]
回复

使用道具 举报

17#
 楼主| 发表于 2010-10-18 12:44:16 | 显示全部楼层
1018更新内容: Xdelta_Gui 版.rar (276.15 KB)
——————————————————————————————————————————————
为配合“Xdelta_Auto工具”,生成补丁文件后,将弹出“是否生成Xdelta_Auto配置文件”的提示,

如选择“是”,将在补丁文件的同级目录创建 XdeltaAuto.ini



——————————————————————————————————————————————

回复

使用道具 举报

18#
 楼主| 发表于 2010-10-18 15:28:26 | 显示全部楼层
原帖由 兵河之心 于 2010-10-18 14:54 发表
一、用Xdelta GUI版制作出补丁文件
二、下载附件后,对 XdeltaAuto.ini 的红色部分进行编辑(注册:所有文件名称不要带后缀名)
QUOTE:
`标题名称
Envi Prog1=网虫2008_WinPE 专用补丁工具
`原始文件后缀名 ...




只要是文件就可以,,
后缀名,旧文件(原始文件)是什么后缀就写什么,,GHOST文件那就是GHO吧,,我都忘记了,好长时间不用GHOST了。

这个后缀名没有什么实际操作限制,,只是个名称,只要正确点选了原始文件,和补丁文件,新生成的文件随便你怎么取名了,,
回复

使用道具 举报

19#
 楼主| 发表于 2010-10-19 01:07:59 | 显示全部楼层
原帖由 msad 于 2010-10-18 21:21 发表
虫大怎么没介绍这个工具都支持哪些格式的文件制作补丁和打补丁呀?


这是个二进制比较工个,支持所有格式的文件
回复

使用道具 举报

20#
 楼主| 发表于 2010-10-19 01:10:09 | 显示全部楼层
原帖由 兵河之心 于 2010-10-18 15:32 发表



谢谢虫大指点,
虫大不用GHOST备份系统么?
用步步为营备份?



是呀,从开始用 server 2008 以后,就一直用WIM做备份了

不过有了这个补丁包工具,把两个GHOST对比留下补丁文件也是个好办法,也算是GHOST的增量备份了,
回复

使用道具 举报

21#
 楼主| 发表于 2010-10-19 17:14:28 | 显示全部楼层
这回差不多了,两个功能也集合到一起了
回复

使用道具 举报

22#
 楼主| 发表于 2010-10-20 20:52:38 | 显示全部楼层
原帖由 zxw 于 2010-10-20 20:10 发表
网虫应用pecmd编程的水平令人叹服!
TEAM FDIR Open=%delta%|EXEC %Open%
建议这一句修改为:
TEAM FDIR Open=%delta%|FIND $%Open%=%CurDir%,!EXEC %Open%



哈哈,还是你细心,,这样主程序和新建文件在同级目录就不会打开新窗口了!!
回复

使用道具 举报

23#
 楼主| 发表于 2010-10-21 19:52:36 | 显示全部楼层
原帖由 huyadong 于 2010-10-21 12:29 发表
看起来复杂,用起来越来越简单,期待网虫继续完善!
例如:即使原文件名被改了也能识别,是否能通过检测文件MD5值等信息识别?


已经增加了对点选原始文件的MD5的验证功能了,

不太明白你说的信息识别是哪种,,如果你的意思是在文件夹中对所有文件检测MD5,然后自动定位原始文件,,,那在浪费时间了呀,,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-13 05:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表