2010tljabc 发表于 2012-6-14 11:14:06

win7pe支持打印的问题

在Windows Xp PE中可以很好的解决打印问题。
在Win7PE中虽然添加了打印服务所需的文件及修改注册表后,能够启动打印服务程序,但在安装打印机时就会出错?

lcy163 发表于 2012-6-14 19:06:13

smine 提供的,可以完美在玄天Win7PE里安装使用打印机,其他的win7pe我没有试过

2010tljabc 发表于 2012-6-14 11:18:09

SPoolsv服务进程的提取和加载

SPoolsv服务进程的提取和加载

第一步:运行Procexp中文版.exe,提取Spoolsv服务进程所需文件。
第二步:从正常启动W7的系统中的提取加载Spoolsv服务进程的注册表信息。

2010tljabc 发表于 2012-6-14 11:20:21

提取的SPooler服务所需文件

C:\Windows\Fonts\StaticCache.dat
C:\Windows\Globalization\Sorting\SortDefault.nls
C:\Windows\System32\advapi32.dll
C:\Windows\System32\apphelp.dll
C:\Windows\System32\atl.dll
C:\Windows\System32\authz.dll
C:\Windows\System32\C_1252.NLS
C:\Windows\System32\cfgmgr32.dll
C:\Windows\System32\clbcatq.dll
C:\Windows\System32\credssp.dll
C:\Windows\System32\crypt32.dll
C:\Windows\System32\CRYPTBASE.dll
C:\Windows\System32\cryptsp.dll
C:\Windows\System32\cscapi.dll
C:\Windows\System32\devobj.dll
C:\Windows\System32\devrtl.dll
C:\Windows\System32\dnsapi.dll
C:\Windows\System32\dsrole.dll
C:\Windows\System32\fdPnp.dll
C:\Windows\System32\FirewallAPI.dll
C:\Windows\System32\fundisc.dll
C:\Windows\System32\FWPUCLNT.DLL
C:\Windows\System32\FXSMON.dll
C:\Windows\System32\FXSRESM.dll
C:\Windows\System32\gdi32.dll
C:\Windows\System32\gpapi.dll
C:\Windows\System32\imm32.dll
C:\Windows\System32\inetpp.dll
C:\Windows\System32\IPHLPAPI.DLL
C:\Windows\System32\kernel32.dll
C:\Windows\System32\KERNELBASE.dll
C:\Windows\System32\locale.nls
C:\Windows\System32\localspl.dll
C:\Windows\System32\lpk.dll
C:\Windows\System32\m1820lm.dll
C:\Windows\System32\mdimon.dll
C:\Windows\System32\msasn1.dll
C:\Windows\System32\msctf.dll
C:\Windows\System32\msi.dll
C:\Windows\System32\msvcrt.dll
C:\Windows\System32\mswsock.dll
C:\Windows\System32\msxml6.dll
C:\Windows\System32\msxml6r.dll
C:\Windows\System32\netutils.dll
C:\Windows\System32\nsi.dll
C:\Windows\System32\ntdll.dll
C:\Windows\System32\ole32.dll
C:\Windows\System32\oleaut32.dll
C:\Windows\System32\powrprof.dll
C:\Windows\System32\PrintIsolationProxy.dll
C:\Windows\System32\profapi.dll
C:\Windows\System32\rasadhlp.dll
C:\Windows\System32\rpcrt4.dll
C:\Windows\System32\RpcRtRemote.dll
C:\Windows\System32\rsaenh.dll
C:\Windows\System32\scesrv.dll
C:\Windows\System32\scext.dll
C:\Windows\System32\sechost.dll
C:\Windows\System32\secur32.dll
C:\Windows\System32\services.exe
C:\Windows\System32\setupapi.dll
C:\Windows\System32\shlwapi.dll
C:\Windows\System32\slc.dll
C:\Windows\System32\snmpapi.dll
C:\Windows\System32\SPInf.dll
C:\Windows\System32\spool\prtprocs\w32x86\mdippr.dll
C:\Windows\System32\spool\prtprocs\w32x86\winprint.dll
C:\Windows\System32\spoolss.dll
C:\Windows\System32\spoolsv.exe
C:\Windows\System32\srvcli.dll
C:\Windows\System32\sspicli.dll
C:\Windows\System32\tcpmon.dll
C:\Windows\System32\ubpm.dll
C:\Windows\System32\umb.dll
C:\Windows\System32\usbmon.dll
C:\Windows\System32\user32.dll
C:\Windows\System32\userenv.dll
C:\Windows\System32\usp10.dll
C:\Windows\System32\version.dll
C:\Windows\System32\webservices.dll
C:\Windows\System32\win32spl.dll
C:\Windows\System32\wininit.exe
C:\Windows\System32\winnsi.dll
C:\Windows\System32\winspool.drv
C:\Windows\System32\winsta.dll
C:\Windows\System32\wintrust.dll
C:\Windows\System32\WlS0WndH.dll
C:\Windows\System32\ws2_32.dll
C:\Windows\System32\WSDApi.dll
C:\Windows\System32\WSDMon.dll
C:\Windows\System32\wship6.dll
C:\Windows\System32\WSHTCPIP.DLL
C:\Windows\System32\wsnmp32.dll
C:\Windows\System32\wtsapi32.dll
C:\Windows\System32\zh-CN\FXSRESM.dll.mui
C:\Windows\System32\zh-CN\inetpp.dll.mui
C:\Windows\System32\zh-CN\KernelBase.dll.mui
C:\Windows\System32\zh-CN\localspl.dll.mui
C:\Windows\System32\zh-CN\services.exe.mui
C:\Windows\System32\zh-CN\setupapi.dll.mui
C:\Windows\System32\zh-CN\spoolsv.exe.mui
C:\Windows\System32\zh-CN\user32.dll.mui
C:\Windows\System32\zh-CN\win32spl.dll.mui
C:\Windows\System32\zh-CN\WSDMon.dll.mui

2011mking 发表于 2012-6-15 00:12:40

严重支持,不过好象没看到完全支持网络的7PE,即网络中可看到工作组内计算机的那种,这样才好安装网络共享打印机。

另外PE中工作组与局域网工作组员不一定要同,而修改工作组又要重启,要能解决不重启动态换工作组。

另外,pe进入后安装本机打印驱动,有的打印驱动会要求重启,不知道提取打印驱动用得不。

2010tljabc 发表于 2012-7-2 09:33:32

经过改进之后,现在是可以安装成功打印机驱动,但就是无法安装打印机端口。
请各位帮帮忙,怎样在W7PE中添加打印端口LPT1和COM??

2010tljabc 发表于 2012-7-4 16:28:30

W7PE打印组件文件的提取

W7PE打印组件文件的提取

建立一个GetPrn.cmd文件,其内容为:
@Echo On
Title 提取打印组件所需文件
rem Insw7为W7ins所在文件夹;Mou为目标PE年在文件夹
set Insw7=g:\windows
set Mou=.\w7Prn
set nof=noPrn.txt
echo 不存在的文件>%nof%
for /F "usebackq eol=; " %%i in ("w7Prn.txt") do (
if not exist %insw7%\%%iecho %%i>>%nof%
echo F |xcopy %insw7%\%%i %Mou%\%%i /y /h
)
pause


其中W7Prn.txt的内容如下:

;;;;;W7PE打印组件所需文件
inf\input.inf
inf\msports.inf
inf\NTPRINT.INF
inf\printupg.inf
inf\usb.inf
inf\usbport.inf
inf\usbprint.inf
inf\usbstor.inf
inf\volume.inf
SYSTEM32\bthprops.cpl
SYSTEM32\compstui.dll
SYSTEM32\credssp.dll
SYSTEM32\cscdll.dll
SYSTEM32\cscui.dll
SYSTEM32\DDORes.dll
SYSTEM32\DeviceCenter.dll
SYSTEM32\DeviceDisplayObjectProvider.exe
SYSTEM32\DevicePairing.dll
SYSTEM32\DevicePairingFolder.dll
SYSTEM32\DevicePairingProxy.dll
SYSTEM32\DevicePairingWizard.exe
SYSTEM32\devmgr.dll
SYSTEM32\dmrc.dll
SYSTEM32\EhStorShell.dll
SYSTEM32\fdBth.dll
SYSTEM32\fdPnp.dll
SYSTEM32\fdprint.dll
SYSTEM32\fdProxy.dll
SYSTEM32\fdWCN.dll
SYSTEM32\fundisc.dll
SYSTEM32\hid.dll
SYSTEM32\hotplug.dll
SYSTEM32\HWPNP.EXE
SYSTEM32\HWPNPDLL.DLL
SYSTEM32\icm32.dll
SYSTEM32\icmp.dll
SYSTEM32\icmui.dll
SYSTEM32\inetpp.dll
SYSTEM32\inetppui.dll
SYSTEM32\localspl.dll
SYSTEM32\localui.dll
SYSTEM32\lz32.dll
SYSTEM32\main.cpl
SYSTEM32\mdminst.dll
SYSTEM32\mgmtapi.dll
SYSTEM32\mlang.dll
SYSTEM32\modemui.dll
SYSTEM32\mountvol.exe
SYSTEM32\mscms.dll
SYSTEM32\msports.dll
SYSTEM32\msvcrt40.dll
SYSTEM32\msxml6.dll
SYSTEM32\msxml6r.dll
SYSTEM32\net.exe
SYSTEM32\net1.exe
SYSTEM32\netprofm.dll
SYSTEM32\nlaapi.dll
SYSTEM32\npmproxy.dll
SYSTEM32\ntprint.dll
SYSTEM32\ntshrui.dll
SYSTEM32\PeerDist.dll
SYSTEM32\print.exe
SYSTEM32\PrintBrmUi.exe
SYSTEM32\PrinterLink.lnk
SYSTEM32\printfilterpipelineprxy.dll
SYSTEM32\printfilterpipelinesvc.exe
SYSTEM32\PrintIsolationHost.exe
SYSTEM32\PrintIsolationProxy.dll
SYSTEM32\printmanagement.msc
SYSTEM32\printui.dll
SYSTEM32\printui.exe
SYSTEM32\prncache.dll
SYSTEM32\prnfldr.dll
SYSTEM32\prnntfy.dll
SYSTEM32\prntvpt.dll
SYSTEM32\puiapi.dll
SYSTEM32\sc.exe
SYSTEM32\serialui.dll
SYSTEM32\setupapi.dll
SYSTEM32\sfc_os.dll
SYSTEM32\snmpapi.dll
SYSTEM32\spoolss.dll
SYSTEM32\spoolsv.exe
SYSTEM32\stobject.dll
SYSTEM32\storage.dll
SYSTEM32\streamci.dll
SYSTEM32\tcpmib.dll
SYSTEM32\tcpmon.dll
SYSTEM32\tcpmonui.dll
SYSTEM32\uniplat.dll
SYSTEM32\usbmon.dll
SYSTEM32\usbui.dll
SYSTEM32\WcnApi.dll
SYSTEM32\webio.dll
SYSTEM32\wer.dll
SYSTEM32\win32spl.dll
SYSTEM32\wsnmp32.dll
SYSTEM32\xpssvcs.dll
SYSTEM32\drivers\hidclass.sys
SYSTEM32\drivers\hidir.sys
SYSTEM32\drivers\hidparse.sys
SYSTEM32\drivers\hidusb.sys
SYSTEM32\drivers\parport.sys
SYSTEM32\drivers\serenum.sys
SYSTEM32\drivers\serial.sys
SYSTEM32\drivers\usbccgp.sys
SYSTEM32\drivers\usbd.sys
SYSTEM32\drivers\usbehci.sys
SYSTEM32\drivers\usbhub.sys
SYSTEM32\drivers\usbohci.sys
SYSTEM32\drivers\usbport.sys
SYSTEM32\drivers\usbprint.sys
SYSTEM32\drivers\usbstor.sys
SYSTEM32\drivers\usbuhci.sys
SYSTEM32\DriverStore\FileRepository\msports.inf_x86_neutral_c1a802e06677f73f\msports.inf
SYSTEM32\DriverStore\FileRepository\msports.inf_x86_neutral_c1a802e06677f73f\parport.sys
SYSTEM32\DriverStore\FileRepository\msports.inf_x86_neutral_c1a802e06677f73f\parvdm.sys
SYSTEM32\DriverStore\FileRepository\msports.inf_x86_neutral_c1a802e06677f73f\serenum.sys
SYSTEM32\DriverStore\FileRepository\msports.inf_x86_neutral_c1a802e06677f73f\serial.sys
SYSTEM32\wbem\fastprox.dll
SYSTEM32\wbem\wbemprox.dll
SYSTEM32\wbem\wbemsvc.dll
SYSTEM32\wbem\WmiDcPrv.dll
SYSTEM32\wbem\WmiPerfClass.dll
SYSTEM32\wbem\wmiprov.dll
SYSTEM32\wbem\WmiPrvSE.exe
SYSTEM32\wbem\wmiutils.dll
SYSTEM32\zh-cn\compstui.dll.mui
SYSTEM32\zh-cn\DeviceCenter.dll.mui
SYSTEM32\zh-cn\DevicePairing.dll.mui
SYSTEM32\zh-cn\DevicePairingFolder.dll.mui
SYSTEM32\zh-cn\devmgr.dll.mui
SYSTEM32\zh-cn\fdprint.dll.mui
SYSTEM32\zh-cn\hid.dll.mui
SYSTEM32\zh-cn\hotplug.dll.mui
SYSTEM32\zh-cn\icm32.dll.mui
SYSTEM32\zh-cn\icmui.dll.mui
SYSTEM32\zh-cn\inetpp.dll.mui
SYSTEM32\zh-cn\inetppui.dll.mui
SYSTEM32\zh-cn\localspl.dll.mui
SYSTEM32\zh-cn\localui.dll.mui
SYSTEM32\zh-cn\main.cpl.mui
SYSTEM32\zh-cn\mdminst.dll.mui
SYSTEM32\zh-cn\mlang.dll.mui
SYSTEM32\zh-cn\modemui.dll.mui
SYSTEM32\zh-cn\mountvol.exe.mui
SYSTEM32\zh-cn\mscms.dll.mui
SYSTEM32\zh-cn\msports.dll.mui
SYSTEM32\zh-cn\ntprint.dll.mui
SYSTEM32\zh-cn\print.exe.mui
SYSTEM32\zh-cn\PrintBrmUi.exe.mui
SYSTEM32\zh-cn\printmanagement.msc
SYSTEM32\zh-cn\printui.dll.mui
SYSTEM32\zh-cn\printui.exe.mui
SYSTEM32\zh-cn\prnfldr.dll.mui
SYSTEM32\zh-cn\prnntfy.dll.mui
SYSTEM32\zh-cn\puiapi.dll.mui
SYSTEM32\zh-cn\sc.exe.mui
SYSTEM32\zh-cn\serialui.dll.mui
SYSTEM32\zh-cn\setupapi.dll.mui
SYSTEM32\zh-cn\spoolsv.exe.mui
SYSTEM32\zh-cn\stobject.dll.mui
SYSTEM32\zh-cn\TCPMON.dll.mui
SYSTEM32\zh-cn\TCPMonUI.dll.mui
SYSTEM32\zh-cn\usbmon.dll.mui
SYSTEM32\zh-cn\usbui.dll.mui
SYSTEM32\zh-cn\win32spl.dll.mui

;;;;Spool
SYSTEM32\spool\PRINTERS\
SYSTEM32\spool\SERVERS\
SYSTEM32\spool\drivers\color\
SYSTEM32\spool\drivers\IA64\
SYSTEM32\spool\drivers\w32x86\3\
SYSTEM32\spool\drivers\w32x86\mdigraph.dll
SYSTEM32\spool\drivers\w32x86\mdiui.dll
SYSTEM32\spool\prtprocs\w32x86\jnwppr.dll
SYSTEM32\spool\prtprocs\w32x86\mdippr.dll
SYSTEM32\spool\prtprocs\w32x86\winprint.dll
SYSTEM32\spool\tools\PrintBrm.exe
SYSTEM32\spool\tools\PrintBrmEngine.exe
SYSTEM32\spool\tools\PrintBrmPs.dll
SYSTEM32\spool\tools\en-US\PrintBrm.exe.mui
SYSTEM32\spool\tools\en-US\PrintBrmEngine.exe.mui
SYSTEM32\spool\tools\zh-CN\PrintBrm.exe.mui
SYSTEM32\spool\tools\zh-CN\PrintBrmEngine.exe.mui



1、从Windows 7的注册表中提取W7PE所需的打印注册信息(保存为W7Prn.reg):
具体操作是从W7的注册表中导出以下几项的键值,并合并到一个文件(如W7Prn.reg)中:
software
1)、
2)、
3)、
4)、
system
5)、
6)、


打印端口LPT1和COM1的添加
所需文件:
inf\msports.inf
System32\driverstore\FileRepository\msports.inf_x86_neutral_c1a802e06677f73f\*.*
System32\driverstore\zh-CN\msports.inf_loc



2、在W7PE中添加打印组件
其中w7Prn.7z是根据上面提取的文件用7-zip打包而成。
运行InsPrn.cmd,其内容如下:
@echo on
CLS
TITLE 正在安装打印机组件...
if exist %windir%\Print.ok exit
7Z.EXE x w7Prn.7z -y -aos -o"%WinDir%"
REGEDIT /S showmenu.reg
REGEDIT /S %WinDir%\system32\w7Prn.reg
PECMD UPNP -pnp
rem 解决无法设置默认打印机的问题
REG DELETE "HKCU\Software\Microsoft\Windows NT\CurrentVersion\Devices" /v "Device" /f >nul
REG ADD "HKLM\SYSTEM\Setup" /v "SystemSetupInProgress" /t "REG_DWORD" /d 0x0 /f >nul
REG ADD "HKCU\Printers\Settings\Wizard" /v "PnP Autodetect" /t "REG_DWORD" /d 0x0 /f >nul
REG ADD "HKCU\Printers\Settings\Wizard" /v "Test Page" /t "REG_DWORD" /d 0x0 /f >nul
REM 打开打印机和传真窗口中的“添加打印机”
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoAddPrinter /t "REG_DWORD" /d 0x0 /f >nul

rem 加载INF文件,建立LPT1和COM1端口
drvload.exe %windir%\inf\msports.inf

rem 建立Spooler服务
sc create spooler binPath= %windir%\system32\spoolsv.exe depend= RPCSS DisplayName= ""@%systemroot%\\system32\\spoolsv.exe,-1"

sc config spooler start= demand
net start spooler
PECMD SERV spooler
net start
PECMD LINK %%Desktop%%\打印组件\打印服务器属性,%WINDIR%\SYSTEM32\rundll32.exe,printui.dll PrintUIEntry /s,%WINDIR%\SYSTEM32\shell32.dll#16
PECMD LINK %%Desktop%%\打印组件\新增打印机驱动向导,%WINDIR%\SYSTEM32\rundll32.exe,printui.dll PrintUIEntry /id,%WINDIR%\SYSTEM32\shell32.dll#58
PECMD LINK %%Desktop%%\打印组件\添加打印机向导,%WINDIR%\SYSTEM32\rundll32.exe,printui.dll PrintUIEntry /il,%WINDIR%\SYSTEM32\shell32.dll#59
PECMD LINK %%Desktop%%\打印组件\打印机管理,%WINDIR%\SYSTEM32\PrinterLink.lnk,%WINDIR%\SYSTEM32\shell32.dll#16
PECMD LINK %%Desktop%%\打印组件\侦探所有硬件设备,%WINDIR%\SYSTEM32\hwpnp.exe +all /a /d /p,%WINDIR%\SYSTEM32\shell32.dll#16
PECMD LINK %%Desktop%%\打印组件\刷新所有硬件设备,%WINDIR%\SYSTEM32\hwpnp.exe +all /a /d /u /p,%WINDIR%\SYSTEM32\shell32.dll#16
echo Printok>%windir%\Print.ok
pecmd kill explorer.exe
exit

zhoubin 发表于 2012-7-4 16:57:40

高手啊,弱弱地请教一下showmenu.reg的具体内容是什么???
谢谢高手!!

2010tljabc 发表于 2012-7-9 07:23:03

showmenu.reg的内容

Windows Registry Editor Version 5.00


"Hidden"=dword:00000001
"HideFileExt"=dword:00000000
"ShowSuperHidden"=dword:00000001
"SuperHidden"=dword:00000001
"ListviewAlphaSelect"=dword:00000001
"ListviewShadow"=dword:00000001
"ListviewWatermark"=dword:00000001
"ServerAdminUI"=dword:00000000
"StartMenuInit"=dword:00000004
"TaskbarAnimations"=dword:00000000
"TaskbarSizeMove"=dword:00000001
"CascadeControlPanel"=hex(2):59,00,45,00,53,00,00,00
"CascadeMyDocuments"=hex(2):4e,00,4f,00,00,00
"IntelliMenus"=hex(2):4e,00,4f,00,00,00
"StartMenuAdminTools"=hex(2):59,00,45,00,53,00,00,00
"DontPrettyPath"=dword:00000000
"WebView"=dword:00000000
"StartButtonBalloonTip"=dword:00000002
"DisableThumbnailCache"=dword:00000001
"StartMenuChange"=dword:00000001
"Start_EnableDragDrop"=dword:00000001
"Start_ShowHelp"=dword:00000000
"ClassicViewState"=dword:00000001
"Start_ShowRun"=dword:00000001
"Start_ShowUser"=dword:00000000
"Start_ShowSetProgramAccessAndDefaults"=dword:00000000
"Start_TrackProgs"=dword:00000001
"Start_ShowNetPlaces"=dword:00000000
"Start_MinMFU"=dword:00000008
"TaskbarGlomLevel"=dword:00000001
"SeparateProcess"=dword:00000001
"Start_PowerButtonAction"=dword:00000004
"Start_ShowMyDocs"=dword:00000000
"Start_ShowMyMusic"=dword:00000000
"Start_ShowMyPics"=dword:00000000
"Start_ShowControlPanel"=dword:00000001
"IconsOnly"=dword:00000001
"Start_LargeMFUIcons"=dword:00000001
"TaskbarSmallIcons"=dword:00000000
"Start_ShowRecordedTV"=dword:00000002
"Start_ShowMyGames"=dword:00000000
"AlwaysShowMenus"=dword:00000001
"ShowCompColor"=dword:00000001
"ShowInfoTip"=dword:00000001
"HideIcons"=dword:00000000
"MapNetDrvBtn"=dword:00000000
"Filter"=dword:00000000
"AutoCheckSelect"=dword:00000000
"ShowTypeOverlay"=dword:00000001
"NavPaneShowAllFolders"=dword:00000001
"NavPaneExpandToCurrentFolder"=dword:00000001



这是一个显示菜单栏以及显示所有文件和文件夹的注册表信息

zhoubin 发表于 2012-7-10 08:44:41

我这里没有这3个文件:
不存在的文件
SYSTEM32\HWPNP.EXE
SYSTEM32\HWPNPDLL.DLL
SYSTEM32\PrinterLink.lnk
老大能提供一下吗,谢谢您。。。。
另外批处理中老大少了个逗号,如下:
PECMD LINK %%Desktop%%\打印组件\侦探所有硬件设备,%WINDIR%\SYSTEM32\hwpnp.exe, +all /a /d /p,%WINDIR%\SYSTEM32\shell32.dll#16
PECMD LINK %%Desktop%%\打印组件\刷新所有硬件设备,%WINDIR%\SYSTEM32\hwpnp.exe, +all /a /d /u /p,%WINDIR%\SYSTEM32\shell32.dll#16

2010tljabc 发表于 2012-9-3 15:19:51

缺少的几个文件不需要

guankwan1016 发表于 2015-7-5 21:43:02

不得不讚好, 正在嘗試

airing 发表于 2019-1-15 06:53:57

学习了……

trans321 发表于 2020-3-10 11:42:45

请问怎么下载附件啊?
页: [1]
查看完整版本: win7pe支持打印的问题