[V1.3.2011.313版] PECAB - WinPE驱动文件打包压缩工具 & Yonsm 的 XCAB 增强版
PECAB 是根据 Yonsm 的 XCAB 增强版制作的WinPE驱动文件打包压缩工具,无需 MakeCAB.EXE。PECAB-V1.3.2011.313
修正微软的SDK头文件 FCI.H 出现的BUG,这个BUG见微软的官方说明:
中文网址:http://support.microsoft.com/kb/174866/en
英文网址:http://support.microsoft.com/kb/174866/zh-cn
由于准备更新 PECMD 的 DEVI 命令支持在 Win7PE 中用无须修改的 INF 驱动文件直接安装三卡驱动,
但驱动组文件(INF、DLL和SYS等)都是位于同一目录,且有些驱动组文件中 INF 文件的排序并非是
第一个(如 ATI 显卡驱动,见图1):
原来的 XCAB 压缩这组文件的排序(XCAB.ddf 的配置定义)是:
.OPTION EXPLICIT
.Set Cabinet=on
.Set Compress=on
.Set CompressionType=LZX
.Set CompressionMemory=21
.Set MaxDiskSize=0
.Set FolderSizeThreshold=2147483648
.Set UniqueFiles=OFF
.Set DestinationDir=
.Set DiskDirectoryTemplate=.
.Set InfFileName=J:\temp\XCAB.inf
.Set RptFileName=J:\temp\XCAB.rpt
.Set CabinetName1=VGA_Test.CAB
"I:\VGA\ATI\amdpcom32.dll" "ATI\amdpcom32.dll"
"I:\VGA\ATI\atidxx32.dll" "ATI\atidxx32.dll"
"I:\VGA\ATI\atiilhag.inf" "ATI\atiilhag.inf"
"I:\VGA\ATI\atiilhag.PNF" "ATI\atiilhag.PNF"
"I:\VGA\ATI\atikmdag.sys" "ATI\atikmdag.sys"
"I:\VGA\ATI\atikmdag.sys.mui" "ATI\atikmdag.sys.mui"
"I:\VGA\ATI\atiumdag.dll" "ATI\atiumdag.dll"
"I:\VGA\ATI\atiumdva.cap" "ATI\atiumdva.cap"
"I:\VGA\ATI\atiumdva.dll" "ATI\atiumdva.dll"
"I:\VGA\ATI\ativcaxx.cpa" "ATI\ativcaxx.cpa"
"I:\VGA\ATI\ativcaxx.vp" "ATI\ativcaxx.vp"
"I:\VGA\ATI\ativdkxx.vp" "ATI\ativdkxx.vp"
"I:\VGA\ATI\ativokxx.vp" "ATI\ativokxx.vp"
"I:\VGA\ATI\ativpkxx.vp" "ATI\ativpkxx.vp"
"I:\VGA\ATI\ativvpxx.vp" "ATI\ativvpxx.vp"
"I:\VGA\nv\nvd3dum.dll" "nv\nvd3dum.dll"
"I:\VGA\nv\nvlddmkm.sys" "nv\nvlddmkm.sys"
"I:\VGA\nv\nvwgf2um.dll" "nv\nvwgf2um.dll"
"I:\VGA\nv\nv_LH.inf" "nv\nv_LH.inf"
"I:\VGA\nv\nv_LH.PNF" "nv\nv_LH.PNF"
WinCab打开这个驱动包也发现同一目录中 INF 文件不是排在第一个(见图2,与 XCAB.ddf 文件排序一致):
这样 PECMD 的 DEVI 命令检查驱动与硬件是否匹配时可能要解压出多个文件才解压出 INF 文件,执行效率、
内存使用和磁盘空间使用都不理想,所以打算完善 XCAB,在压缩包内,将同一目录中的 INF 文件排在前面,
PECMD 的 DEVI 命令解压驱动组时,第一个解压出 INF 文件,加快驱动与硬件的匹配检查,提高安装速度。
经过完善后,压缩包内同一目录中,所有的 INF 文件将排在前面,解压时第一个被解压出来(见图3):
完善后 XCAB.EXE 的文件体积不但不增,反而减小了,增强版的 XCAB.ddf 配置定义是:
.OPTION EXPLICIT
.Set Cabinet=on
.Set Compress=on
.Set CompressionType=LZX
.Set CompressionMemory=21
.Set MaxDiskSize=0
.Set FolderSizeThreshold=2147483648
.Set UniqueFiles=OFF
.Set DestinationDir=
.Set DiskDirectoryTemplate=.
.Set InfFileName=J:\temp\XCAB.inf
.Set RptFileName=J:\temp\XCAB.rpt
.Set CabinetName1=VGA.CAB
"I:\VGA\ATI\atiilhag.inf" "ATI\atiilhag.inf"
"I:\VGA\ATI\atidxx32.dll" "ATI\atidxx32.dll"
"I:\VGA\ATI\amdpcom32.dll" "ATI\amdpcom32.dll"
"I:\VGA\ATI\atiilhag.PNF" "ATI\atiilhag.PNF"
"I:\VGA\ATI\atikmdag.sys" "ATI\atikmdag.sys"
"I:\VGA\ATI\atikmdag.sys.mui" "ATI\atikmdag.sys.mui"
"I:\VGA\ATI\atiumdag.dll" "ATI\atiumdag.dll"
"I:\VGA\ATI\atiumdva.cap" "ATI\atiumdva.cap"
"I:\VGA\ATI\atiumdva.dll" "ATI\atiumdva.dll"
"I:\VGA\ATI\ativcaxx.cpa" "ATI\ativcaxx.cpa"
"I:\VGA\ATI\ativcaxx.vp" "ATI\ativcaxx.vp"
"I:\VGA\ATI\ativdkxx.vp" "ATI\ativdkxx.vp"
"I:\VGA\ATI\ativokxx.vp" "ATI\ativokxx.vp"
"I:\VGA\ATI\ativpkxx.vp" "ATI\ativpkxx.vp"
"I:\VGA\ATI\ativvpxx.vp" "ATI\ativvpxx.vp"
"I:\VGA\nv\nv_LH.inf" "nv\nv_LH.inf"
"I:\VGA\nv\nvlddmkm.sys" "nv\nvlddmkm.sys"
"I:\VGA\nv\nvwgf2um.dll" "nv\nvwgf2um.dll"
"I:\VGA\nv\nvd3dum.dll" "nv\nvd3dum.dll"
"I:\VGA\nv\nv_LH.PNF" "nv\nv_LH.PNF"
增强版 XCAB 不修改原来 XCAB 的任何版本信息,只在窗口标题加多了"by Yonsm"与示区别。
XCAB 现在是调用 MakeCAB.EXE 来压缩文件的,如有可能,本人将做一个调用 Cabinet.DLL 来实现压缩的 XCAB。
[ 本帖最后由 lxl1638 于 2011-3-14 14:49 编辑 ] 中秋礼物,老九幸苦了。也祝老九中秋快乐。 原帖由 heanv 于 2010-9-22 18:22 发表 http://bbs.wuyou.net/images/common/back.gif
中秋礼物,老九幸苦了。也祝老九中秋快乐。
中秋礼物.谢谢. 紧跟楼上,谢谢老九了。中秋快乐。
[ 本帖最后由 yj0176 于 2010-9-22 22:24 编辑 ] 调用 Cabinet.DLL ,
能在XP,03里面使用吗? 感谢楼主分享!
中秋节快乐! 先顶帖子再下载
感谢加敬佩呀,,,
下载备用于我的PE更新,, 中秋快乐。。。。。。。。 前辈们,后辈们,一起中秋快乐 又是一年中秋,年华老去,愿无忧坛友永远快乐 中秋快乐。。。。。。。。 赶紧的收藏,谢谢老九。 thx, Yonsm , a great name 收藏一下,留着备用!
回复 #1 lxl1638 的帖子
问一下 下载老大里面的 附件包里面的 xcab.exe 的的增强的 XCAB.ddf 改名为 XCAB.ddf这个xcab.exe才能按照老大说那样配置文件里面说的 进行压缩驱动包??还是这个Xcab.exe就本身内置了 XCAB.ddf 这个配置文件???? 这个软件很不错,感谢楼主更新! 九大近来新品不断,非常感谢! 同学们中秋快乐哈~~ 祝国庆快乐,年华老去,愿无忧坛友永远快乐。 原帖由 yanglin 于 2010-9-23 08:05 发表 http://bbs.wuyou.net/images/common/back.gif
问一下 下载老大里面的 附件包里面的 xcab.exe 的的增强的 XCAB.ddf 改名为 XCAB.ddf
这个xcab.exe才能按照老大说那样配置文件里面说的 进行压缩驱动包??还是这个Xcab.exe就本身内置了 XCAB.ddf 这个 ...
他这个东东貌似只需要个xcab.exe就行,不过增强部分仅对PE3有效 原帖由 yanglin 于 2010-9-23 08:05 发表 http://bbs.wuyou.net/images/common/back.gif
问一下 下载老大里面的 附件包里面的 xcab.exe 的的增强的 XCAB.ddf 改名为 XCAB.ddf
这个xcab.exe才能按照老大说那样配置文件里面说的 进行压缩驱动包??还是这个Xcab.exe就本身内置了 XCAB.ddf 这个 ...
XCAB.ddf 是 XCAB 根据扫描目录生成的配置定义文件,是给 MakeCAB.EXE 用的,你改了也没有用。 PECAB 是根据 Yonsm 的 XCAB 增强版制作的WinPE驱动文件打包压缩工具,无需 MakeCAB.EXE。
[ 本帖最后由 lxl1638 于 2010-9-23 20:34 编辑 ] 原帖由 lxl1638 于 2010-9-23 18:29 发表 http://bbs.wuyou.net/images/common/back.gif
PECAB 是根据 Yonsm 的 XCAB 增强版制作的WinPE驱动文件打包压缩工具,无需 MakeCAB.EXE。
http://bbs.wuyou.net/images/attachicons/rar.gif PECAB.rar (36.65 KB)
先收了再说:(
回复 #20 玄天 的帖子
对PE1.X应该也有意义. 好东西,收藏了。。。也祝大家中秋快乐 老九的这个不知道能否替代老毛桃的那个经典的MakeCAB.EXE ,一直用那个来将_is文件打包成iso文件。 原帖由 wbjj 于 2010-9-23 20:12 发表 http://bbs.wuyou.net/images/common/back.gif
老九的这个不知道能否替代老毛桃的那个经典的MakeCAB.EXE ,一直用那个来将_is文件打包成iso文件。
可以,不过发现刚才两个EXE都有小问题:
1、压缩多文件或大文件时,进度条有问题;
2、"另存为"不管如何设置,都保存在 PECAB.EXE 所在目录。
等会更正。 老大功力非凡,新作不断,pe越来越好玩。辛苦啦。 原帖由 gtdwood 于 2010-9-23 20:25 发表 http://bbs.wuyou.net/images/common/back.gif
老大功力非凡,新作不断,pe越来越好玩。辛苦啦。
更正了以下两个BUG,请大家重新下载。
1、压缩多文件或大文件时,进度条有问题;
2、"另存为"不管如何设置,都保存在 PECAB.EXE 所在目录。 原帖由 lxl1638 于 2010-9-23 20:34 发表 http://bbs.wuyou.net/images/common/back.gif
更正了以下两个BUG,请大家重新下载。
1、压缩多文件或大文件时,进度条有问题;
2、"另存为"不管如何设置,都保存在 PECAB.EXE 所在目录。
第一个.重下.谢谢好工具.