lxl1638 发表于 2010-9-22 18:09:26

[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:25

中秋礼物,老九幸苦了。也祝老九中秋快乐。

66369 发表于 2010-9-22 18:29:08

原帖由 heanv 于 2010-9-22 18:22 发表 http://bbs.wuyou.net/images/common/back.gif
中秋礼物,老九幸苦了。也祝老九中秋快乐。


中秋礼物.谢谢.

yj0176 发表于 2010-9-22 18:31:54

紧跟楼上,谢谢老九了。中秋快乐。

[ 本帖最后由 yj0176 于 2010-9-22 22:24 编辑 ]

dvd008 发表于 2010-9-22 18:38:28

调用 Cabinet.DLL ,
能在XP,03里面使用吗?

2010dgnanhua 发表于 2010-9-22 18:41:54

感谢楼主分享!
       中秋节快乐!

网虫2008 发表于 2010-9-22 19:10:38

先顶帖子再下载

感谢加敬佩呀,,,

下载备用于我的PE更新,,

secowu 发表于 2010-9-22 20:39:38

中秋快乐。。。。。。。。

ziyun 发表于 2010-9-22 21:26:50

前辈们,后辈们,一起中秋快乐

假大空 发表于 2010-9-22 21:56:01

又是一年中秋,年华老去,愿无忧坛友永远快乐

tzxinqing 发表于 2010-9-22 22:02:46

中秋快乐。。。。。。。。

M 发表于 2010-9-22 22:24:44

赶紧的收藏,谢谢老九。

快雪时晴 发表于 2010-9-22 23:14:05

thx, Yonsm , a great name

冷风无泪 发表于 2010-9-22 23:48:39

收藏一下,留着备用!

yanglin 发表于 2010-9-23 08:05:53

回复 #1 lxl1638 的帖子

问一下 下载老大里面的 附件包里面的 xcab.exe 的的增强的 XCAB.ddf 改名为 XCAB.ddf
这个xcab.exe才能按照老大说那样配置文件里面说的 进行压缩驱动包??还是这个Xcab.exe就本身内置了 XCAB.ddf 这个配置文件????

notepad 发表于 2010-9-23 08:16:42

这个软件很不错,感谢楼主更新!

linyehua 发表于 2010-9-23 08:34:25

九大近来新品不断,非常感谢!

zhhwin 发表于 2010-9-23 13:12:43

同学们中秋快乐哈~~

jhbo 发表于 2010-9-23 14:35:09

祝国庆快乐,年华老去,愿无忧坛友永远快乐。

玄天 发表于 2010-9-23 14:40:06

原帖由 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有效

lxl1638 发表于 2010-9-23 18:10:14

原帖由 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 用的,你改了也没有用。

lxl1638 发表于 2010-9-23 18:29:49

PECAB 是根据 Yonsm 的 XCAB 增强版制作的WinPE驱动文件打包压缩工具,无需 MakeCAB.EXE。

[ 本帖最后由 lxl1638 于 2010-9-23 20:34 编辑 ]

玄天 发表于 2010-9-23 18:49:21

原帖由 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)
先收了再说:(

66369 发表于 2010-9-23 20:03:53

回复 #20 玄天 的帖子

对PE1.X

应该也有意义.

lsp19880301 发表于 2010-9-23 20:08:59

好东西,收藏了。。。也祝大家中秋快乐

wbjj 发表于 2010-9-23 20:12:42

老九的这个不知道能否替代老毛桃的那个经典的MakeCAB.EXE ,一直用那个来将_is文件打包成iso文件。

lxl1638 发表于 2010-9-23 20:23:07

原帖由 wbjj 于 2010-9-23 20:12 发表 http://bbs.wuyou.net/images/common/back.gif
老九的这个不知道能否替代老毛桃的那个经典的MakeCAB.EXE ,一直用那个来将_is文件打包成iso文件。

可以,不过发现刚才两个EXE都有小问题:
1、压缩多文件或大文件时,进度条有问题;
2、"另存为"不管如何设置,都保存在 PECAB.EXE 所在目录。
等会更正。

snbxeon 发表于 2010-9-23 20:25:19

老大功力非凡,新作不断,pe越来越好玩。辛苦啦。

lxl1638 发表于 2010-9-23 20:34:34

原帖由 gtdwood 于 2010-9-23 20:25 发表 http://bbs.wuyou.net/images/common/back.gif
老大功力非凡,新作不断,pe越来越好玩。辛苦啦。

更正了以下两个BUG,请大家重新下载。
1、压缩多文件或大文件时,进度条有问题;
2、"另存为"不管如何设置,都保存在 PECAB.EXE 所在目录。

66369 发表于 2010-9-23 20:37:34

原帖由 lxl1638 于 2010-9-23 20:34 发表 http://bbs.wuyou.net/images/common/back.gif


更正了以下两个BUG,请大家重新下载。
1、压缩多文件或大文件时,进度条有问题;
2、"另存为"不管如何设置,都保存在 PECAB.EXE 所在目录。


第一个.重下.谢谢好工具.
页: [1] 2 3 4 5
查看完整版本: [V1.3.2011.313版] PECAB - WinPE驱动文件打包压缩工具 & Yonsm 的 XCAB 增强版