解决PEnetwork启动的时候提示"An error occured while starting the "TCP/IP Registry Compatibility" Service (2)!"程序将当即退出的问题windows
看了下这个tcpipreg服务,注册表里面的服务键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpipreg,对应的文件是\windows\system32\drivers\tcpipreg.sys。网络
换了个思路,看了下ljycslg的PE里面,没有这个tcpipreg.sys,也没有tcpipreg服务。tcp
尝试本身写了个补丁删除tcpipreg.sys和tcpipreg服务,而后用wimbuilder2构建PE,测试
del /f /q %X%\Windows\System32\drivers\tcpipreg.sys
reg delete "HKLM\tmp_SYSTEM\CurrentControlSet\Services\tcpipreg" /fui
文件删除了,注册表多是挂载的位置不对,删除失败。spa
用tcipireg为关键字,用filelocator搜索了下wimbuilder2目录,找到了这些:blog
H:\WimBuilder2-Full20191010\Projects\WIN10XPE\01-Components\02-Network\main.batip
20行ci
@\Windows\System32\drivers\
ipfltdrv.sys,lltdio.sys,mrxsmb10.sys,rspndr.sys,tcpipreg.sys,vwififlt.sys,WdiWiFi.sysit
200行
call RegCopy HKLM\System\ControlSet001\Services\tcpipreg
删除20行里面的tcpipreg.sys,注释掉200行,用wimbuilder2构建PE,成功启动penetwork!
彷佛有点反作用,就是右下角系统托盘区的网络图标有个红叉,网络是链接的啊,怎么没有扇形了?
小结:
一、win10因为驱动签名验证,tcpipreg.sys是从install.wim里面提取的,没有cat驱动签名,致使windows没法验证此文件的数字签名,不知道倒底是什么cat文件,文件太多了,sigcheck没有检查出来。
二、绕路解决的方法是完全删除tcpipreg.sys的文件和注册表。PE.ISO体积基本没有增长,只增长了penetwork自己的1.5MB。彷佛有点反作用,就是右下角系统托盘区的网络图标有个红叉,网络是链接的啊,怎么没有扇形了?另外其余版本的PE构建暂时没有测试,好比17763等,晚点再看看。
三、penetwork源代码有32115行,用au3写这个的人真是了不得!文件依赖若是不要依赖这个tcpipreg.sys就行了。