无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: slore
打印 上一主题 下一主题

[原创] (2022-02-02 更新) Re:WIN10XPE - 从零开始构建的全功能PE

    [复制链接]
691#
 楼主| 发表于 2019-11-14 23:10:28 | 显示全部楼层
gazi06 发表于 2019-11-14 22:59
thank you. I did the corrections.
I changed it to en-US.xml and translated it into tr-TR language ...

Thanks for the translation, I will add them into next release version.

You needn't modify the en-US.xml files directly, just copy it to be tr-TR.xml, then translate them ...
Well, I will rename them on my side.

It won't be soon, so far, I just consider to make a planed release on 2019.12.12.
回复

使用道具 举报

692#
 楼主| 发表于 2019-11-15 19:26:46 | 显示全部楼层
gazi06 发表于 2019-11-15 17:19
What do you mean from code I am adding them to the system



Your code can add tsdiscon.exe to boot.wim. Make sure you select the right index of install.wim. (Not HOME, need Pro, Ent, ...)
回复

使用道具 举报

693#
 楼主| 发表于 2019-11-16 00:37:53 | 显示全部楼层
gazi06 发表于 2019-11-15 22:59
slore,Did you have the opportunity to try the printer in master tr-TR language. Does he work for you ...



Work for me with default preset + Printers. (18362.448.191016-1855.19H1_RELEASE_SVC_PROD3_CLIENTPRO_OEMRET_X86FRE_TR-TR.ISO)
回复

使用道具 举报

694#
 楼主| 发表于 2019-11-16 01:42:16 | 显示全部楼层
WAIGO 发表于 2019-11-15 18:38
遵嘱把补丁从_CustomFiles_中移到外面,改名为 zb-MyPECMD,并把程序执行的目录名称改为 "%WB_PROJECT_PA ...

你没有搞懂 双用户登录。

直接 SYSTEM,再登录Admin。
直接 Admin,再登录SYSTEM。

4种情况,你打算怎么初始化?

点击管理员=>PECMDADMIN.ini
点击SYSTEM=>pecmd.ini

切换的时候呢?


点击SYSTEM=>pecmd.ini=>SwitchUser.bat => LogonAdmin => Winlogon(userinit) => PECMD.ini
点击管理员=>PECMDADMIN.ini=>SwitchUser.bat => SYSTEM ?如何初始化,运行什么程序?没运行程序,为什么不黑屏。

管理员切换到SYSTEM帐户,应为你没有决定从Admin切换到SYSTEM要干嘛, 你啥代码都没有写,自然是 黑屏了。

你仔细对比你的pecmdadmin.ini和我的原始pecmdadmin.ini有啥区别。
把你的改分辨率,DO_ADMIN环境变量设置,中文翻译,注释掉 TEXT 改过来就行,其他不要动。


双用户使用的时候,PECMD的SHEL命令并不支持。
一个用户使用SHEL启动了explorer.exe,另一个用户的SHEL explorer.exe就没用了。

所以10.10版本使用的是EXEC explorer.exe.

到了11.11版,默认PECMD.ini中是 SHEL explorer.exe,如果启用Admin用户才自动替换,
SHEL => DaemonShell explorer.exe。

确保只使用SYSTEM时,依然可以用PECMD的进程守护,和关机钩子。


你的pecmd.ini中,不知道为什么你把call DaemonShell explorer.exe放到了,SwitchUser.bat的快捷方式上。
SwitchUser.bat是用户切换,与外壳程序死活,与PECMD都没关系。

你的PE把pecmd.ini中的 call daemonshell创建快捷方式的时候去掉。直接调用SwitchUser.bat即可。
下面,启动外壳程序的 SHEL %W%\explorer.exe 改成 EXEC explorer.exe 就行了,或者 DaemonShell explorer.exe。

最好的修改方法是:
  SYSTEM用户采用 PECMD的SHEL explorer.exe,Admin用户登录时,使用 LUA的 DaemonShell 监护。

这样,SYSTEM用户和Admin用户,都可以外壳程序被监护,关机也都可以正常工作。


如果你们搞不懂,多用户会话,还是用以前的伪用户方式吧。(SU.ini)
PECMD开发的时候,就没有这种情况,所以用PECMD.ini初始化时,既有的设计是有问题的,需要很多地方添加
什么用户来做的,是首次登录,还是中间切换,否则会造成反复初始化。

pecmd.ini和pecdmadmin.ini你改我上面说的4行就好了。


你的 自定义补丁的其他问题:
  MyPECMD在 MyTheme\MyPECMD 下面还有一份,驱动包略微不同,构建时会做2边。
  final.bat你已经不需要修改了。新版本,wxsUI\UI_Logon选择用户登录直接返回1或者2,不需要logon_script来中转。
  补丁默认执行时,就是补丁的目录,所以没有必要写

  一大堆 "%WB_PROJECT_PATH%\zb-MyPECMD" 这个路径。 补丁的设计是,可以随便移动的。
  del失败,是你引号写的不对。

我改成 zb-MyPECMD

  1. @echo on
  2. rem 我加上的删除原本的桌面右键,以便在 Explorer_RegSoftware.reg 加上个性化桌面右键
  3. pause
  4. reg DELETE "HKLM\Tmp_Software\Classes\DesktopBackground\Shell" /f
  5. pause
  6. reg import "%~dp0RegSoftware.reg"
  7. pause
  8. rem PAUSE
复制代码

确实看到删除了,为什么最后还有我也挺郁闷的。。。。


[WARNING] No matches for path pattern "\Windows\System32\drivers\sti.sys"
Extracting file data: 225 KiB of 225 KiB (100%) done
Done extracting files.
操作成功完成。
操作成功完成。

Applying Patch:C:\UserData\WimBuilder2-Full.2019-11-11\Projects\WIN10XPE\last.bat
[MACRO]LuaLink -done
[MACRO]TextReplace "X:\PEMaterial\Autoruns\Startup\BeforeShell\Shortcuts.lua" #sp "%" g
[MACRO]LuaPin -done
[MACRO]TextReplace "X:\PEMaterial\Autoruns\Startup\PinShortcuts.lua" #sp "%" g
找不到文件 - X:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessibility
找不到文件 - X:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories
找不到文件 - X:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools
the final process before commiting the boot.wim
[WIN10XPE] --- UNMOUNT [_Factory_\target\WIN10XPE\mounted] /commit

部署映像服务和管理工具
版本: 10.0.18362.1

映像文件 : C:\UserData\WimBuilder2-Full.2019-11-11\_Factory_\target\WIN10XPE\winre.wim
映像索引 : 1
正在保存映像
[==========================100.0%==========================]
正在卸载映像
[==========================100.0%==========================]


有时间了再看看吧。
回复

使用道具 举报

695#
 楼主| 发表于 2019-11-16 01:45:08 | 显示全部楼层
gazi06 发表于 2019-11-16 01:10
Yes I arrived now minutes after I tried again. I guess my impatience: D x64 did not try. thank you ...

You should see the message when run installprinter.bat on the Desktop ...

__________________________________________________________
|                                                                                                    |
|          Printers will work in 2 minutes later                                        |
|_________________________________________________________|
回复

使用道具 举报

696#
 楼主| 发表于 2019-11-16 10:26:59 | 显示全部楼层
本帖最后由 slore 于 2019-11-16 13:26 编辑
WAIGO 发表于 2019-11-16 08:24
的确没有搞懂双用户如何登录。您在 PECMD.INI 中安排了 DaemonShell 子过程在 PreShell 子过程之后,但 C ...

您在 PECMD.INI 中安排了 DaemonShell 子过程在 PreShell 子过程之后,但 CALL PreShell 之后直接就跳到更后的 CALL LoadShell 子过程,这个 DaemonShell 子过程没有任何调用的代码。


不需要用"您",受不起啊。

你想想你的 pecmd.ini 中的 #WIM_ARCH#。明明是WIM_ARCH 怎么启动的时候就变成了 x64 了?
WimBuilder2与你们传统的手工编辑文件替换制作不同,会动态的根据构建时的选项,更新所需要的内容。

我的pecmd.ini只是添加了一个DaemonShell,确实没调用。
但是你有没有进PE看看,它最终变成了什么样子?



如果构建选项没有选择启用Administrator用户,那么直接就是SHEL explorer.exe,PECMD对单一用户进行外壳守护是OK的。

如果启用了Administrator用户,构建时会运行上面的脚本 SwitchToAdmin.bat,
然后通过TextReplace替换SHEL explorer.exe => DaemonShell explorer.exe。

这样的话Admin用户,SYSTEM用户都有外壳守护。但是SYSTEM下无法关机。
所以给你说目前的最佳方案是,如果是SYSTEM用SHEL explorer.exe, 如果是Admin用户才用DaemonShell。
因为对PECMD不熟悉,FIND啥的判断%USERNAME%,有时候好,有时候不行,我就放弃了,统一SHEL替换使用DaemonShell。

你自己的pecmd.ini并没有按照我的格式:
//EXP_SHEL explorer.exe 所以,替换命令 "_SHEL" => "_DaemonShell" 对你的PECMD.INI没有修改。

"Admin用户登录时,使用 LUA的 DaemonShell 监护" 的意思,是否应把自 Admin 用户首启登录时,快捷方式改成 DaemonShell explorer.exe?这样写的话,SwitchUser.bat 会自动执行吗?


你还是没想明白么。难道不点击SwitchUser.bat就需要守护外壳程序了?
(当然守护外壳程序并不是必须的,正常Windows系统也不守护,出错了,自己任务管理器运行explorer.exe重启,直接用 EXEC explorer.exe就行了。)

PECMD.ini修改的3行:
去掉SwitchUser.bat快捷方式的DaemonShell调用。 2行
SHEL %W%\explorer.exe 改成 DaemonShell,或者EXEC。  1行。


======================================================
Admin切换到SYSTEM用户黑屏:

从Admin切换到SYSTEM,你需要SYSTEM运行什么?Admin已经初始化过了,只是运行explorer.exe外壳程序的话,
在PecmdAdmin.ini的最后(_END之前)添加:SHEL explorer.exe             修改1行。


如果从Admin切换到SYSTEM,你仍然需要运行pecmd.ini进行SYSTEM的特定初始化,
在PecmdAdmin.ini中,删除 FIND $%YESNO%=NO,这个判断条件。(与我的PecmdAdmin.ini保持一致。)  修改1行。



你的PE不知道驱动安装是不是有啥问题,鼠标10秒左右就用不了了。
回复

使用道具 举报

697#
 楼主| 发表于 2019-11-17 21:29:29 | 显示全部楼层
gazi06 发表于 2019-11-17 16:35
slore master, there is a problem connecting to the network drive.
The network credentials screen is ...

YES, I could be normal Windows dialog for the network shared folder.

Enable Admin + Remote Desktop + main.html(0 kb) in 01-Components\CredDialog\

I don't have time to figure out the mininum requirements, so It is hidden Patch for now.

ACTUALLY, you can input
  1. username:  .\Admin
  2. password: ****
复制代码

or
  1. username:  a\Admin
  2. password: ****
复制代码


with the console Window, the network drive could be connected, too.
回复

使用道具 举报

698#
 楼主| 发表于 2019-11-17 21:33:11 | 显示全部楼层
本帖最后由 slore 于 2019-11-17 21:35 编辑
WAIGO 发表于 2019-11-17 20:14
依照您的提示修改,双用户的登录及切换都可以了。但是还有几个问题必须解决:

1、直接登录 ADMIN,再 ...


这些问题应该发生在你的PECMD.ini上。

WimBuilder2自带的,是不会出现上面的关于管理员和SYSTEM用户的5个问题。
你的PECMD.ini有52Kb, 太过复杂了。

你读懂WimBuilder2带的70行的PECMD.ini你搞懂执行顺序。


另外2个问题:
1。SYSTEM登录理解切Admin是已知有的问题,我也没调查问题,估计是系统服务的问题。
2。IE应该是一直都有的问题,其他人的PE应该也有类似的。
回复

使用道具 举报

699#
 楼主| 发表于 2019-11-17 21:52:11 | 显示全部楼层
gazi06 发表于 2019-11-17 14:29
I want to install an unattended application to the master system. which code should I use.


I don't know what you want to do.

Why not extract to "%X_PF%\ResourceHacker\" then done?

if you want to create shortcuts, use "call LinkToXXXX" macros.
回复

使用道具 举报

700#
 楼主| 发表于 2019-11-18 22:32:10 | 显示全部楼层
zh_lovejay 发表于 2019-11-18 21:17
求教!
系统启动后,会弹出一个命令框,显示内容如下:
The operation completed successfully.

你从git下载的版本?没有vendor目录,所以不带任何第3方工具。
没有PECMD, 用的是 startnet.cmd 启动。这个cmd一关闭,程序就退出了。

下载2019.11.11版本,带vendor第3方工具包的版本。

如果你是手动自己选择启动管理器为 startnet.cmd的话,默认PE就这样的。
回复

使用道具 举报

701#
 楼主| 发表于 2019-11-19 12:54:35 | 显示全部楼层
本帖最后由 slore 于 2019-11-19 13:05 编辑
WAIGO 发表于 2019-11-19 12:47
您和M大都是大师级专家。说老实话,您们写的代码,的确很难全部看懂。但是,M大替我加入的代码并没有直接 ...

右键正常,任务栏设定,右下角日历是用
WinXShell.exe -daemon 实现的。
带-winpe就成了外壳程序了,不知道为什么你的代码会这样写。

PreShell就是在外壳程序前运行。Runner.bat会自动运行Startup\BeforeShell目录下面的批处理,和exe文件,自动导入reg注册表文件。

PostShell函数是外壳程序运行后执行。
Admin用户的外壳不是pecmd的exec或者shel启动的,是系统自己运行的,一些钩子或者Pin命令需要外壳程序启动好再做。

Taskbar:WaitForReady就是 等 任务栏 准备好,也就是等外壳程序启动,然后通过Runner.bat运行Startup目录下面的批处理和exe,自己自动导入注册表。

pecmd.ini只是启动管理,什么阶段运行Runner.bat,具体要做的事情,与Windows一样,由 启动 文件夹放入的程序,脚本自动运行。

正常系统不需要pecmd可以开机运行程序,初始化,
PE也一样。这样就不依赖PECMD'LUA和startnet.cmd。

他们只是流程控制在外壳程序启动前,后调用Runner.bat,任何启动管理器共用,达到一样效果。
后期加入遍历系统磁盘驱动器,可以调用各磁盘驱动器外置的Runner.bat完成外置的初始化会更灵活。

英文单词的意思很清楚。如果不清楚这些简单的英文的话,看不懂pecmd的脚本很正常。
回复

使用道具 举报

702#
 楼主| 发表于 2019-11-19 18:09:23 | 显示全部楼层
本帖最后由 slore 于 2019-11-19 18:11 编辑
zh_lovejay 发表于 2019-11-19 18:00
S大,我用11-11版wimbuilder,在没有勾选“网络支持”的情况下,基于Windows 10 Pro (10.0.18362,x64,en-GB ...

基础winre.wim具有基本的局域网络功能,可以访问共享资源,你虚拟机采用NAT模式,或者共享其他机器网络是可以上网的。
勾选只会增强,
添加更多系统网卡驱动,支持无线网络连接,拨号,控制面板选项,网络托盘图标等。

不想要选精简,精简仅维护,不过这种精简可能完成其他功能不或失效。

不在意体积,估计删除几个网关联服务,dll就行了。但是我并没有排查详细文件。
回复

使用道具 举报

703#
 楼主| 发表于 2019-11-20 20:28:28 | 显示全部楼层
本帖最后由 slore 于 2019-11-20 20:29 编辑
WAIGO 发表于 2019-11-20 18:22
经过多次测试,发觉只须调用子过程 LoadShell 里面的 EXEC =!"X:\PEMaterial\Autoruns\Runner.bat" Start ...

托盘图标没有,是因为你没启动。2个用户是独立的,你采用以前的PECMD.ini没有处理吧。
PosShell的过程中添加下面代码就行了。
EXEC =!"X:\PEMaterial\Autoruns\Runner.bat" Startup
explorer.exe无限重启有点奇怪,应该有1个就不再启动才对。你要不先别用守护了,直接EXEC算了。
回复

使用道具 举报

704#
 楼主| 发表于 2019-11-23 05:26:29 | 显示全部楼层
8849558 发表于 2019-11-22 17:40
原生Windows Explorer外壳 选了这个外壳 BitLocker菜单没了,而且BitLocker能增加完整功能吗?现在高档点的 ...

看的到,不过Explorer加BitLocker正常,你没勾选强力精简等高级精简选项吧。

完整支持代码里面有,没设备没发验证就注释掉了。
回复

使用道具 举报

705#
 楼主| 发表于 2019-11-24 13:10:12 | 显示全部楼层
本帖最后由 slore 于 2019-11-24 13:15 编辑
WAIGO 发表于 2019-11-24 09:49
1、终于弄明白了,不断开快速访问文件夹,原来是在 PECMD,INI 里面,既保留原有的 SHEL Explorer,又添加了 ...

2.
SU.INI原来在什么阶段运行, 你继续放到PECMD.ini就行了啊。
OSInit 或 PreShell 。

3. 打印机支持代码从来都没变过,只有一个_printer.bat。
WIN10XPE工程\01-Components(组件)\Device and Printers(设备与打印机)\
4. Runner.bat OSInit
启动时首选运行Autoruns下面的 *.bat, *.exe, *.reg。

目前只有
Z:\WimBuilder2\Projects\WIN10XPE\_CustomFiles_\PEMaterial\Autoruns\OSInit
00-OSInit.bat
StartNetprofm.bat


磁盘驱动器盘符整理,调节分辨率,播放开机提示音,注册表优化,或者设定启动组件默认开启模式等等都可以放这里,
而不用修改PECMD.ini,放进来就行了。以独立的文件形式存在,不需要删除即可。


Runner.bat Startup\BeforeShell
Runner.bat Startup

并没有区别。

回复

使用道具 举报

706#
 楼主| 发表于 2019-11-24 18:57:19 | 显示全部楼层
8849558 发表于 2019-11-24 16:47
预设选full,强力精简选不选都没法显示BitLocker,把外壳Shell选择WinXShell就能显示

default预设(pecmd+explorer),然后选择BitLocker,你看看有没有。如果不行,你给我说下你使用的Windows版本。
回复

使用道具 举报

707#
 楼主| 发表于 2019-11-24 20:27:41 | 显示全部楼层
834772509 发表于 2019-11-24 19:40
楼主,这是为啥,虚拟机正常,用实体机启动就这样。用的是预设的Full还是如此,一开始进入桌面是黑屏的,估 ...

ipconfig, 设备管理器都看下,网卡是否正常驱动。IP是否正常。

PECMD.ini没有改过吧?
回复

使用道具 举报

708#
 楼主| 发表于 2019-11-27 08:36:49 | 显示全部楼层
8849558 发表于 2019-11-25 21:15
试了你说的,还是不行,WimBuilder2-Full.2019-11-11,运行的系统是win10 1909 18363.476,iso镜像是itel ...

这个版本的ISO我有,构建了正常出菜单。你的日志看了下,文件和注册表都处理了,应该可以用的。只是解锁功能,你得先正常系统下加密这个盘符,explorer的话,是自动识别状态才出对应的菜单。
WinXShell的话,没有其他dll支持,所以是直接菜单显示。
回复

使用道具 举报

709#
 楼主| 发表于 2019-11-27 19:56:37 | 显示全部楼层
本帖最后由 slore 于 2019-11-27 19:57 编辑
WAIGO 发表于 2019-11-27 19:35
原先自 ADMIN 切换 SYSTEM 模式后,点击日历等位置也没有反应。经过在 PecmdAdmin.ini 的末段增添 "EXEC  ...

就剩下首启自 SYSTEM 模式后,切换 ADMIN 模式时还是会经常熄机重启。

不知道WIN10XPE是不是也这样,这里没有变过。不清楚为什么会出。



WinXShell.exe -daemon为什么添加到PecmdAdmin.ini?

我的默认工程是添加到Pecmd.ini,这样SYSTEM用户,和Admin用户都调用,
任务栏和日历都可用。
回复

使用道具 举报

710#
 楼主| 发表于 2019-11-27 20:32:50 | 显示全部楼层
WAIGO 发表于 2019-11-27 20:15
Pecmd.ini 里面也有,虽然转换前能用,但转换后就不能用。添加到 PecmdAdmin.ini 之后,首启自 ADMIN 时 ...

在任意用户环境下执行:
WinXShell.exe -daemon

该用户的,任务栏设置,桌面右键个性化,分辨率,任务栏时钟区域点击日历将可用。

你看下各种组合转换,任务管理器看看,是不是没运行。应该是你的PECMD.ini根据不同用户,
没有正确执行吧。

最简单的其实是直接扔到 AutoRuns\Startup,不用ini文件管理。
每个用户首次登陆的时候会运行一下。
回复

使用道具 举报

711#
 楼主| 发表于 2019-11-27 20:35:02 | 显示全部楼层
本帖最后由 slore 于 2019-11-27 20:48 编辑

最新开发版本(master), 新增 "Current" 预设,此为默认预设,会自动保存记录对补丁的选择,
补丁节点的展开,选择等状态。

感兴趣的可以git pull更新,试试。

2019.12.12 将在这个基础上,支持 "预设" 另存为 ... 功能。
回复

使用道具 举报

712#
 楼主| 发表于 2019-11-27 21:14:10 | 显示全部楼层
本帖最后由 slore 于 2019-11-27 21:27 编辑
hhh333 发表于 2019-11-27 21:11
不用增加wbem中的一大堆东西,简单实现我的电脑右键属性中的信息。如何搞?
  1. WinXShell.exe -luacode wxsUI("UI_SystemInfo")
复制代码




就是读取注册表,或调用下系统API获取些信息,做个UI,你们用pecmd也能搞吧。
几kb脚本。

wxsUI\UI_SystemInfo.zip解包,自己可以修改main.lua,显示自己要的信息,修改布局,修改颜色。
回复

使用道具 举报

713#
 楼主| 发表于 2019-11-30 10:31:38 | 显示全部楼层
2011wanglei5207 发表于 2019-11-30 10:24
希望slore大抽空能够添加注册表精简功能,手动精简太费事了,主要方向感不强,我觉得这个还是很有必要的 ...

新版本Admin用户去除了完整SOFTWARE依赖,28MB,压缩5MB,很稳定,按文件删除的脚本也有的,不过删除了白色图标,没精查,不过框架已经有了,添加些例外处理就好了。4,5秒,不过精简了不大效果。
回复

使用道具 举报

714#
 楼主| 发表于 2019-11-30 11:29:41 | 显示全部楼层
2011wanglei5207 发表于 2019-11-30 10:37
白色图标问题可以解决 之前用CCleaner清理就出现过,其实白色图标都有对应的注册表项,加入白名单就可以 ...

注册表得下载下别人的对比下,感觉CLSID和Interface清理并不大?需要call RegCopy确认下,各个项目的大小,针对比较大的项目处理就好了。
回复

使用道具 举报

715#
 楼主| 发表于 2019-12-1 11:49:54 | 显示全部楼层
2011wanglei5207 发表于 2019-12-1 09:45
整理了一份原生驱动列表:
;Lan
b57nd60a.inf

感谢整理。
目前是这样,区分x64和x86的,以及共通的。
后续会改成界面3个文本框:

x86的网卡驱动: athw8.inf,netathr.inf,netathr10.inf,netbc63.inf
x64的网卡驱动: athw8x.inf,netathr10x.inf,netathrx.inf,netbc63a.inf
  共通网卡驱动: netbc64.inf,netrtwlane.inf,netrtwlane_13.inf,netrtwlanu.inf

版本区分就不做了,自己添加自己喜欢的吧。也不区分LAN和WLAN了。
要么就提供一个脚本编辑界面。。。

‪D:\Dev\WimBuilder2\Projects\WIN10XPE\01-Components\02-Network\main.bat

  1. set AddFiles_Mode=merge

  2. if "%WB_PE_ARCH%"=="x64" (
  3.   call AddDrivers "athw8x.inf,netathr10x.inf,netathrx.inf,netbc63a.inf"
  4.   call AddDrivers "netwbw02.inf,netwew00.inf,netwew01.inf,netwlv64.inf,netwns64.inf,netwsw00.inf,netwtw04.inf"
  5. ) else (
  6.   call AddDrivers "athw8.inf,netathr.inf,netathr10.inf,netbc63.inf"
  7.   call AddDrivers "netwbn02.inf,netwen00.inf,netwen01.inf,netwlv32.inf,netwns32.inf,netwsn00.inf,netwtn04.inf"
  8. )
  9. call AddDrivers "netbc64.inf,netrtwlane.inf,netrtwlane_13.inf,netrtwlanu.inf"

  10. if %VER[3]% LEQ 17700 goto :END_NETDRIVERS

  11. if "%WB_PE_ARCH%"=="x64" (
  12.   call AddDrivers "netwtw02,netwtn06.inf"
  13. ) else (
  14.   call AddDrivers netwtn02.inf
  15. )

  16. :END_NETDRIVERS
  17. call DoAddFiles
复制代码

点评

不用一个个找,写个批处理 查找 inf 是否有字段: NdisPhysicalMediumNative802_11 ,有就是无线网卡驱动  详情 回复 发表于 2019-12-1 12:26
回复

使用道具 举报

716#
 楼主| 发表于 2019-12-3 20:53:49 | 显示全部楼层
本帖最后由 slore 于 2019-12-3 20:54 编辑
fish2006 发表于 2019-12-3 20:35
MTP功能是否就靠MS原版系统就可实现?Win7系统、Win10系统都可以,下个版是否可以考虑不要 MTPHELPER.SYS这 ...

老版本可能没事,新版本需要,至少v1809之后的内核应该是不可以不要的,你可以试试。另外这个驱动删除了会自动使用MTPHelper.dll来实现,但是没有驱动方式稳定。

点评

MTPHelper.dll 也是第3方的,最新版本我都没有测试过,让时间来验证吧。  详情 回复 发表于 2019-12-3 21:11
回复

使用道具 举报

717#
 楼主| 发表于 2019-12-4 11:09:40 | 显示全部楼层
本帖最后由 slore 于 2019-12-4 11:13 编辑
指南针 发表于 2019-12-4 10:39
用11.11版本,lite模板,1909操作系统

目的是想做到最精简,但发现做出来的体积仍然庞大(160MB+),仔 ...

lite是explorer和wow64都还选了吧?不是最小。
精简和驱动主要花费时间,没有太多技术调查需要,我这里这是一个参考,如何精简系统文件,如何精简驱动,如何精简catalog,都有代码。如果你有时间,可以给大家分享精简的方案。

HyperV的删除了才对。安全精简,精简仅维护的选项都选择了麽?
极限精简的话,设置时间没必要啊,PE要改时间干嘛。而且留date. exe,time. exe命令行就好了吧,想要GUI的话,WinXShell倒是几KB就可以做一个UI挂件。

点评

感谢提供这么好的工具。 补充:用的32位ISO做的32位PE,外壳shell是winxshell,强力精简没敢勾选。 精简的问题且不谈了,这个个人花时间去折腾就行。、 说到设置时间,确实是希望winxshell直接去做到这个功  详情 回复 发表于 2019-12-4 11:29
回复

使用道具 举报

718#
 楼主| 发表于 2019-12-4 12:01:24 | 显示全部楼层
本帖最后由 slore 于 2019-12-4 12:09 编辑
指南针 发表于 2019-12-4 11:29
感谢提供这么好的工具。

补充:用的32位ISO做的32位PE,外壳shell是winxshell,强力精简没敢勾选。

反正可以反复做,你可以试试强力精简,这个已经补充了些,Admin功能都是可以勾选的(双11版不知道行不行,双12版是可以的)。

精简(仅维护)就删除的多了。。。你主要你要用的程序是否都正常,这个就是反复删除测试,保留。。。
投入时间就行了。win10之后,没必要扣那几十MB,加载速度已经不是问题了。

组件,任务管理器,可以用系统相当的。目前这个是winre.wim系统自带的任务管理器,没有资源化,但是速度快,够用。真要好点的自己可以集成process explorer。


设置时间,其实考虑过,在日历下面点开可以设置,双击调用系统的cpl就行,所以没专门花时间去添加。我觉得这个功能用处不大,代替命令,程序很多,自己就懒的加了。有时间了再说吧(虽然花不了多少时间,WinXShell工程目前很少去动了)。

点评

楼主,如何去除进入桌面之前左上角的个性化窗口?论坛里说是删除 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup 里的部分注册表,但我不知道具体要删除哪里  详情 回复 发表于 2019-12-4 16:48
回复

使用道具 举报

719#
 楼主| 发表于 2019-12-5 10:18:25 | 显示全部楼层
星体投射 发表于 2019-12-5 10:09
AddDrivers这个宏命令是不是有问题?
工程中现有的:call AddDrivers winusb.inf

可以echo on看过程。

就是按这个名字从driverstore等位置提取文件。
lib\macros下面是宏脚本,都是批处理。

我回头确认下。

点评

AddDrivers.cmd这样改比较合理 [attachimg]406570[/attachimg]  详情 回复 发表于 2019-12-8 15:43
未设置,应该文件继续的。。。我试试,估计是BUG。  发表于 2019-12-5 14:30
已查明,是Drivers注册表选择”未设置“引起的  发表于 2019-12-5 14:11
回复

使用道具 举报

720#
 楼主| 发表于 2019-12-5 20:13:33 | 显示全部楼层

额外添加的那个注册表的项目,全部导入,而不是一条。
另外依赖的dll中,查询是否有MiniNT,SeupInProgess字符。
要跟踪就是完整系统和PE去调试哪里运行的不一样。

点评

已经弄好了,CLASS中差一个重要的键值。  详情 回复 发表于 2019-12-6 00:09
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-5 20:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表