是否可以在 WinPE 64 位映像中添加我自己的 Windows 服务 (myservice.exe)?myservice.exe 是依赖于 winusb 驱动程序的 32 位应用程序。
如何在 WinPE 映像中添加(手动)我自己的服务?或者如何在从 WinPE 映像启动后启动它?sc.exe 在映像中不可用。即使我在注册表中为该服务添加了正确的条目,wmic 服务也不会显示它。因此 net start service_name 将返回“服务名称无效 net helpmsg 2185”
是否可以在 WinPE 5.0/10(Windows 8.1/10)映像中注入 winusb 驱动程序?
答案1
WinPE 不包括 WOW(Windows On Windows),因此您的所有应用程序和服务都必须是本机位数。32 对应 32,64 对应 64。
答案2
Stefan,您可以通过 Microsoft 部署工具包 (MDT) 将现成的驱动程序添加到 Windows 映像。当前版本是 MDT 2013 Update 2,对于 Windows 10 部署,MDT 2013 Update 1 是您需要的版本(最低版本)。
您可以选择将 INF 驱动程序文件集成到您的映像中,然后将其添加。希望有所帮助!
答案3
我猜想不可能将自定义服务添加到 WinPE(如果我错了请纠正我)。但是我能够通过将我的服务与现有服务“合并”来欺骗 WinPE。
当我在 WinPE 中打开任务管理器时,我注意到 defragsvc 服务已停止。我启动了 Regedit.exe,导航到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\defragsvc
并删除了以下值:
DependOnService
RequiredPrivileges
ServiceSidType
SvcMemHardLimitInMB
SvcMemMidLimitInMB
SvcMemSoftLimitInMB
我还删除了子项Parameters
,更改ErrorControl
为0
,并更改ImagePath
为自己的可执行文件。
修改后,我将defragsvc
密钥导出到myservice.reg
文件。然后我关闭了 WinPE,挂载了 WIM,并添加了命令
regedit /s X:\Windows\System32\myservice.reg
在文件内startnet.cmd
。
当 WinPE 以这种方式启动时,您可以使用 启动该服务net start defragsvc
。