无忧启动论坛

标题: Wimbuilder2-基于hta/vbs/js/bat的图形界面新的PE生成器 [打印本页]

作者: slore    时间: 2018-6-24 15:08
标题: Wimbuilder2-基于hta/vbs/js/bat的图形界面新的PE生成器
本帖最后由 slore 于 2020-5-8 23:25 编辑

Wimbuilder2

特点:


运行环境:Windows 7~Windows Server 2019未精简系统。
              原生boot.wim(2)/wimre.wim环境(默认带HTA组件(mshta.exe, mshtml.dll)的版本【Win10的已测试】)。

程序截图:






最新更新反映在 【PE作品发布区】
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=411399

github最新版(含WIN10XPE工程)永久地址: https://github.com/slorelee/wimbuilder2/archive/master.zip

新版附件中带一个WIN10XPE的例子(winre.wim为基础), 将winbuilder的工程转换为简洁的批处理脚本工程(273KB).
完全从系统install.wim提取所需文件,不包含任何非系统文件,构建了一个包含以下组件的Windows PE(支持10.0.17763):





使用方法:
1.运行wimbuilder.cmd启动
2.准备界面:选择install.wim,选择winre.wim(索引1)[从install.wim\Windows\System32\Recovery\提取],
3.工程界面:选择WIN10XPE工程
4.补丁界面:选择需要集成的功能补丁,以及补丁设置
5.构建界面:点击1-run即可生成wim文件(1-exec通常不使用,为出错时运行选项,保存构建记录到界面),
                 再点3-makeiso将生成ISO(请自己准备ISO模板放到_ISO_目录中)


默认工程不含第三方工具,有人问添加工具的方法,这里提供PECMD启动器,PENetwork工具 的2个例子补丁,请参照。
基本上就是把文件解压出来就可以了。

101楼(11页) PECMD作为启动器,隐藏掉CMD命令提示符窗口的补丁
http://bbs.wuyou.net/forum.php?m ... 4934&fromuid=166812
102楼(11页) 为PE添加PENetwork工具
http://bbs.wuyou.net/forum.php?m ... 4941&fromuid=166812

发现论坛上实际对于WimBuilder2本身的 反馈,建议不多,更多的是生产出来的PE的问题,建议。

最新更新反映在 【PE作品发布区】
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=411399

2018-12-04 更新:
因为对纯x64的PE环境支持,增加了些x64的程序,导致整体大于3MB,所以分成x86,x64版本提供下载。
都可以构建x86,x64的PE。(x64版没有bin\x86和bin\SetACL.exe,x86版没有bin\x64,仅此区别,其他是脚本所以都一样。)

WimBuilder2_1204_x64.zip (2.75 MB, 下载次数: 2074)
WimBuilder2_1204_x86.zip (2.56 MB, 下载次数: 771)

1.增加一个200kb测试补丁用boot.wim(第一卷x64,第二卷x86),空的Windows目录,注册表结构,用于测试补丁变化,且快速加载。
2.增加构建后可自动启动虚拟机测试ISO接口(带VirtualBox启动例子)。
3.第一次访问构建页面后,其他页面增加一键快速构建按钮。
4.WIN10XPE工程,增加 WOW64支持(x64环境下可运行x86程序)IE 11(x64 & x86)
5.其他细节更新,已知小问题修正



wb_shot2.png (110.54 KB, 下载次数: 574)

wb_shot2.png

VirtualBox_win2016en_20_11_2018_00_46_38.png (53.08 KB, 下载次数: 608)

VirtualBox_win2016en_20_11_2018_00_46_38.png

WimBuilder2_with_WIN10XPE.zip

2.29 MB, 下载次数: 1125, 下载积分: 无忧币 -2


作者: slore    时间: 2018-6-24 15:08
本帖最后由 slore 于 2018-6-24 22:40 编辑



title wimbuilder 是如何工作的呢?

用户->wimbuilderUI: 选择源install.wim文件
用户->wimbuilderUI: 选择基础wim文件(例如:boot.wim)
用户->wimbuilderUI: 选择一个工程
note right of wimbuilderUI:显示工程相关信息与可变更参数选项界面
用户->wimbuilderUI: 选择要为基础wim文件进行的[补丁]
用户->wimbuilderUI: 点击 'build' (构建)按钮
wimbuilderUI->wimbuilder(批处理): 构建工程(bin\\_process.bat)
wimbuilder(批处理)->wimbuilder(批处理): 提取源install.wim的注册表HIVE文件
note right of wimbuilder(批处理): 放在\n_Factory_\\target\\<project>\\install\\windows\\system32\\config\\*.*
wimbuilder(批处理)->wimbuilder(批处理): 复制boot.wim到*_Factory_*(工厂)进行加工
note right of wimbuilder(批处理): 复制boot.wim到\n_Factory_\\target\\<project>\\boot.wim\n(不对基础wim进行修改)
wimbuilder(批处理)->wimbuilder(批处理):挂载install.wim的注册表HIVE文件
note right of wimbuilder(批处理): 挂载路径为:\nHKLM\\Src_SYSTEM,\nHKLM\\Src_Software,\n...\n(用于REGCOPY)
wimbuilder(批处理)->wimbuilder(批处理):通过Dism命令挂载boot.wim
note right of wimbuilder(批处理): 挂载路径为:\n_Factory_\\target\\<project>\\Mounted
wimbuilder(批处理)->wimbuilder(批处理):映射挂载路径为X:驱动器
note right of wimbuilder(批处理): SUBST "%_WB_MNT_DIR%" X:\\\n(用于对X:\\xxx操作)
wimbuilder(批处理)->wimbuilder(批处理): 挂载boot.wim的注册表HIVE文件
note right of wimbuilder(批处理): 挂载路径为:\nHKLM\\Tmp_SYSTEM,\nHKLM\\Tmp_Software,\n...
wimbuilder(批处理)->wimbuilder(批处理): 处理用户补丁main.bat
note right of wimbuilder(批处理): 通过宏 增/删/改文件,更新注册表\nOpenTextFile,\nREGCOPY,\nACLRegKey,\n...
wimbuilder(批处理)->wimbuilder(批处理): 提交修改并导出新wim
note right of wimbuilder(批处理): bin\\_cleanup.bat卸载注册表,commit变更\n导出到:\n_Factory_\\target\\<project>\\build\\boot.wim
用户->wimbuilderUI: 点击 'iso' (镜像制作)按钮
wimbuilderUI->wimbuilder(批处理):bin\\_MakeBootISO.bat
note right of wimbuilder(批处理): 复制build\\boot.wim -> _ISO_\\sources\\boot.wim\n利用oscdimg.exe制作镜像到\n_Factory_\\BOOTPE.iso

作者: slore    时间: 2018-6-24 15:08
本帖最后由 slore 于 2018-11-18 00:06 编辑

如何构建例子工程WIN10XPE?

1.点左侧【准备】,选择 install.wim,选择 boot.wim,下一步 (config.js文件中可配置默认路径,所以通常不再需要准备界面)
2.【Project工程】选WIN10XPE工程,下一步
3.【Patch补丁】选择需要应用的补丁,以及进行补丁的选项
4.【build构建】点1-run_build进行构建,
   再点2-make_iso创建ISO文件
  (0-cleanup按钮,用于卸载注册表和WIM文件的挂载,通常顺利挂载wim的情况下,不需要,如果磁盘空间,或者被占用导致构建失败时,才需要按此按钮)


作者: slore    时间: 2018-6-24 15:08
本帖最后由 slore 于 2018-12-5 00:05 编辑

更新历史

2018-11-22 更新:
* 易用性改善,将自动记忆当前的选项,下次启动不需要再指定
* 自动检测可用磁盘驱动器用于挂载
* 可以选择构建完成后立即创建ISO镜像
* 1-exec模式将保留构建日志


2018-11-20 更新:
与前一版本没太大区别。只是支持选择映射磁盘驱动,另外winre.wim/boot.wim下直接进行构建进行了适配。
(ADO组件依赖移除,findstr等命令缺失,代替处理等等),不在PE下运行WimBuilder2构建PE的话,可暂时不用下载。

2018-11-18 更新:
1.WIN10XPE工程,增加 原生搜索功能基本显示器驱动,显卡驱动网络支持
2.增加一个精简补丁实例
3.WimBuilder2对驱动补丁支持,精简接口,进行适配,增强AddFiles宏,RegCopy宏, 增加RegEx宏。
4.根据使用建议,对准备及工程界面,进行易用性增强
5.可在HTA内核为IE8环境构建(Windows 7)



winre.wim(win10)原生支持HTA,vbs,js,所以在winre.wim下也可以运行wimbuilder2,
但是没有ado组件,所以无法读取UTF8格式的国际化资源,界面是英文。(资源文件改成ANSI,UTF16-LE可以解决)
X映射修改完再更新。(2018-11-20版已更新)

因为做界面增强,IE11补丁未完成
已经把“系统自带搜索功能”,“网络支持”实现了,不过x64版本原生IE浏览器,需要WOW64支持,而且下载文件需要切换Administrator用户,
周末把WoW64和SwitchAdmin补丁整理下再更新(针对驱动更新,还有精简改了些代码)。


2018-11-3 更新:


2018-06-26 更新:


详细原因分析,如何修改批处理解决问题,参照#30楼说明。
也可以在github上查看修改履历
https://github.com/slorelee/wimb ... 1543fa05efaceb62dc4

作者: slore    时间: 2018-6-24 15:08
本帖最后由 slore 于 2018-11-22 02:13 编辑

占楼




WimBuilder2_1122.zip (2.89 MB, 下载次数: 104)
作者: 2010sya    时间: 2018-6-24 16:16
占楼
作者: chishingchan    时间: 2018-6-24 18:22
占楼是不是太多了?!
作者: fkltd-123    时间: 2018-6-24 18:36
看看更新了什么
作者: MPFENG    时间: 2018-6-24 19:31
感谢分享,
作者: 红毛樱木    时间: 2018-6-24 20:47
沙发没占上
作者: 黑中见白    时间: 2018-6-24 20:55
能添加文件列表=增加文件
注册表是pe的还是ins 的
作者: slore    时间: 2018-6-24 22:14
本帖最后由 slore 于 2018-6-24 22:16 编辑
黑中见白 发表于 2018-6-24 20:55
能添加文件列表=增加文件
注册表是pe的还是ins 的


例子是,用boot.wim自己的注册表,然后从ins中复制必要的CLSID,INTERFACE等项目。
当然可以直接复制SOFTWARE,进行修改更简单。

==================================================
自动挂载
instal.wim的注册表文件到HKLM\Src_SYSTEM,HKLM\Src_SOFTWARE;
自动挂载
PE的注册表文件到HKLM\Tmp_SYSTEM,HKLM\Tmp_SOFTWARE;

利用REGCOPY复制install的注册表的所需内容,你也可以自己用reg命令操作。

详细流程及对应文件,请参考2楼:
wimbuilder是如何为你工作的?
作者: 黑中见白    时间: 2018-6-24 22:17
slore 发表于 2018-6-24 22:14
例子是,用boot.wim自己的注册表,然后从ins中复制必要的CLSID,INTERFACE等项目。
当然可以直接复制S ...

主要是我自己用其他软件弄的pe 服务不全,没有蓝牙
作者: 1879fa    时间: 2018-6-24 22:22
厉害!
作者: 祂响柯    时间: 2018-6-25 00:47
看看更新了什么
作者: 2012andyle113    时间: 2018-6-25 07:42
很强大的样子啊,记号下
作者: levinsky    时间: 2018-6-25 08:21
感谢分享
作者: 泰立信    时间: 2018-6-25 08:59
这样算是改进的版本,减少手工步骤
作者: 新空气    时间: 2018-6-25 10:59
好东东,收下啦~楼主忒牛,谢la...
作者: ChinToy    时间: 2018-6-25 12:32
感谢大神分享
作者: MPFENG    时间: 2018-6-25 12:33
弱弱的问一下,有几人会用?
作者: slore    时间: 2018-6-25 12:45
MPFENG 发表于 2018-6-25 12:33
弱弱的问一下,有几人会用?

点8下鼠标

1.点【准备】,选择 install.wim,选择 boot.wim,下一步,
2.选WIN10XPE工程,下一步,
3.patch跳过,直接下一步,
4.点1-run,再点2-make_iso

作者: xuexiang    时间: 2018-6-25 12:56
slore 发表于 2018-6-25 12:45
点8下鼠标

1.点【准备】,选择 install.wim,选择 boot.wim,下一步,

我昨天测试就这样,今天按你的步骤还这样,
  1. [WIN10XPE] --- 构建信息
  2. WB_BASE=F:\sources\boot.wim
  3. WB_BASE_INDEX=1
  4. WB_PROJECT=WIN10XPE
  5. WB_SKIP_UFR=1
  6. WB_SKIP_URR=1
  7. WB_SRC=F:\sources\install.wim
  8. WB_SRC_INDEX=1
  9. WB_STRAIGHT_MODE=1
  10. WB_UI_LANG=zh-CN
  11. WB_WORKSPACE=

  12. 工序:获取WIM文件信息
  13. WB_PE_ARCH=x64
  14. WB_PE_BUIID=1000
  15. WB_PE_LANG=zh-CN
  16. WB_PE_VER=10.0.17692

  17. 工序:挂载 WIM 映像
  18. Extracting file data: 70 MiB of 70 MiB (100%) done
  19. Done extracting files.
  20. 已复制         1 个文件。
  21. [WIN10XPE] --- MOUNT [C:\Users\10\Downloads\wimbuilder2\_Factory_\target\WIN10XPE\boot.wim:1] -* [C:\Users\10\Downloads\wimbuilder2\_Factory_\target\WIN10XPE\mounted]

  22. 部署映像服务和管理工具
  23. 版本: 10.0.17134.1

  24. 正在安装映像
  25. [==========================100.0%==========================]
  26. 操作成功完成。

  27. 系统找不到指定的路径。
  28. 'main.bat' 不是内部或外部命令,也不是可运行的程序
  29. 或批处理文件。
  30. [WIN10XPE] --- UNMOUNT [C:\Users\10\Downloads\wimbuilder2\_Factory_\target\WIN10XPE\mounted] /commit

  31. 部署映像服务和管理工具
  32. 版本: 10.0.17134.1

  33. 映像文件 : C:\Users\10\Downloads\wimbuilder2\_Factory_\target\WIN10XPE\boot.wim
  34. 映像索引 : 1

  35. 错误: 32

  36. 另一个程序正在使用此文件,进程无法访问。

  37. 可以在 C:\Windows\Logs\DISM\dism.log 上找到 DISM 日志文件
  38. Cleanup finished.
  39. [WIN10XPE] --- EXPORT [C:\Users\10\Downloads\wimbuilder2\_Factory_\target\WIN10XPE\boot.wim:1] -* [C:\Users\10\Downloads\wimbuilder2\_Factory_\target\WIN10XPE\build\boot.wim]

  40. 部署映像服务和管理工具
  41. 版本: 10.0.17134.1

  42. 正在导出映像
  43. [==========================100.0%==========================]
  44. 操作成功完成。
  45. C:\Users\10\Downloads\wimbuilder2\_Factory_\target\WIN10XPE\boot.wim
  46. 另一个程序正在使用此文件,进程无法访问。

  47. C:\Users\10\Downloads\wimbuilder2>
复制代码

作者: slore    时间: 2018-6-25 13:05
本帖最后由 slore 于 2018-6-25 13:07 编辑
xuexiang 发表于 2018-6-25 12:56
我昨天测试就这样,今天按你的步骤还这样,


看过程对boot.wim的加载已经完成,但是准备打补丁时,没有找到:
Projects\WIN10XPE\main.bat

  1. 系统找不到指定的路径。
  2. 'main.bat' 不是内部或外部命令,也不是可运行的程序
  3. 或批处理文件。
复制代码


然后程序自动 卸载挂载的WIM文件,但是可能注册表的正在使用,没有卸载掉,
所以卸载WIM没有成功。

确认方法:
bin\_process.bat的第一行 echo off改成echo on,

下面找下main.bat,
前一句应该是 pushd 切换到 Project\WIN10XPE\ 目录,
这句失败了,不过看到你路径是
C:\Users\10\Downloads\wimbuilder2\
没有空格,奇怪字符,不该失败的。

确认注册表是否被正常卸载,打开regedit,看下HKEY_LOCAL_MACHINE下面是否有:
Src_Software,Src_SYSTEM,Tmp_Software,Tmp_SYSTEM。

有的话,到build界面,先选择0-cleanup。清除上次残留注册表和boot,wim挂载。

=============================================
你的WB_WORKSPACE=是空?
这个请用默认的 "." 使用当前目录试试。


作者: xuexiang    时间: 2018-6-25 15:34
本帖最后由 xuexiang 于 2018-6-29 13:55 编辑
slore 发表于 2018-6-25 13:05
看过程对boot.wim的加载已经完成,但是准备打补丁时,没有找到:
Projects\WIN10XPE\main.bat


不支持预览版,17134直接成功
17134boot卷1不行,好奇setup比pe就多了setup支持安装的两个组件
新版
17704测试正常,
可以正常运行联想一键恢复okr9,理论上okr8也支持
pe re setup组件一样,组件也很多

组件.zip

4.25 KB, 下载次数: 111, 下载积分: 无忧币 -2

清单


作者: xuexiang    时间: 2018-6-25 16:07
预览版不能制作,过程会出错,不能卸载保存
作者: hszgb    时间: 2018-6-26 08:18
生成纯净的PE太好了
作者: fk2001    时间: 2018-6-26 12:58
技术宅呀!
作者: slore    时间: 2018-6-26 15:39
xuexiang 发表于 2018-6-25 16:07
预览版不能制作,过程会出错,不能卸载保存

关于预览版(10.0.17692.1000)不能卸载保存的原因是,自动挂载的注册表项目没有卸载干净导致的。

问题代码:
wimbuilder2/bin/PERegPorter.bat
  1. rem check existence before UNLOAD
  2. rem   Query -* HKEY_USERS\.DEFAULT\Environment
  3. rem   Query -* HKEY_LOCAL_MACHINE\SAM\SAM
  4. rem   Query -* HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  5. rem   Query -* HKEY_LOCAL_MACHINE\SYSTEM\Software
  6. rem   Query -* HKEY_CURRENT_USER\Environment
复制代码

卸载前先检查了是否挂载了,HKLM不能直接卸载所以找了一个子项去检查,
HKEY_USERS\.DEFAULTHKEY_CURRENT_USER找的是Environment

发现最新预览版和RS4的注册表不一样,没有Environment子项,所以导致注册表扔被挂载到Tmp_DEFAULT,没有卸载掉,所以wim镜像卸载保存失败。

因为已经挂载到主系统的HKLM\Tmp_xxxx下面了,所以直接判断Tmp_xxxx是否存在即可,修改代码如下即可:
if /i "x%2"=="xUNLOAD" (         if /i "x%2"=="xUNLOAD" (
-    reg query HKLM\%1_DEFAULT\Environment /ve 2>nul 1>&2
+   reg query HKLM\%1_DEFAULT /ve 2>nul 1>&2
   if ERRORLEVEL 1 goto :DEAL_SAM           if ERRORLEVEL 1 goto :DEAL_SAM
)



==========================================================
其他改善代码如下:
* 基础wim文件不存在是,默认显示【准备】页面,而不是直接到【工程】界面

assets/js/init.js
i18n_trans();
         
function page_init() {         function page_init() {
+    if (!fso.FileExists($wb_base)) {
+        $('#menu_start').click();
+        return;
+    }

     $('#menu_project').click();
}

* 因默认访问当前目录的Projects文件夹,暂时禁用WORKSPACE选择按钮

<a href="#" disabled="disabled" id="wb_workspace_folder_btn" class="ibutton browse i18n-title"
     title="Set the build workspace">Browse</a><br/>             title="Set the build workspace">Browse</a><br/>


会基本的HTML,bat,js就可以自己改进/自定义WimBuilder。
作者: 青青草    时间: 2018-6-26 16:18
请教大神:
      如图的情况,是什么原因引起的?应如何处理?
谢谢!

2018-06-26.png (68.04 KB, 下载次数: 558)

2018-06-26.png

2018-06-26 (1).png (86.17 KB, 下载次数: 542)

2018-06-26 (1).png

作者: slore    时间: 2018-6-26 16:57
本帖最后由 slore 于 2018-6-26 17:00 编辑
青青草 发表于 2018-6-26 16:18
请教大神:
      如图的情况,是什么原因引起的?应如何处理?
谢谢!


问题1:
pe_reg我是想自己做一个宏的,自动替换*.reg文件中的,
[HKEY_LOCAL_MACHINE\SOFTWARE\xxxx]

[HKEY_LOCAL_MACHINE\Tmp_SOFTWARE\xxxx]
的,看到winbuilder中大量的reg文件已经是Tmp_Software了,
所以就没写宏,pe_reg改成正常的reg命令就行了。

D:\Dev\WimBuilder2\Projects\WIN10XPE\Shell\explorer\main.bat
  1. pe_reg import "%~dp0Explorer_RegDefault.reg"
  2. pe_reg import "%~dp0Explorer_RegSoftware.reg"
  3. ->
  4. reg import "%~dp0Explorer_RegDefault.reg"
  5. reg import "%~dp0Explorer_RegSoftware.reg"
复制代码



不过很奇怪啊,我下载的代码看到Projects是改过的(建议下载最新版本看看)。
(另外这个没导入成功也不影响shell的显示,主要是explorer的一些设置,比如桌面显示【我的电脑】,图标排列式样等等。)

问题2:
删除X:\setup.exe
删除X:\Windws\System32\wallpaperhost.exe
默认挂载wim后,文件是TrustInstaller权限,Administrator是没有权限,删除文件的。

这个删除主要是为了不要默认的Windows安装,和避免wallpaperhost.exe占用shell窗口,
不过删除不掉也无所谓,startnet.cmd中添加了
kill /f /im wallpaperhost.exe代码,这个exe不删除也不影响,所以我没管。

要想给挂载的wim添加文件删除权限,在Projects\WIN10XPE\main.bat
开头添加下面语句自己更改权限:
  1. call TrustedInstallerRight "%_WB_MNT_DIR%"
复制代码


或者简单的,直接在config.js中添加一行:
  1. //skip update files' rights operation
  2. var $wb_skip_ufr = '1';
复制代码
所有工程编译都会更新权限。

这个会花40多秒~1分钟,比较费时间,我的习惯是一般是做一个只改权限的boot.wim先,
然后后续改造使用这个boot.wim作为模板,再修改,就不用每次改权限了。

===========================================
本来计划在界面上做一个选项,是否更新boot.wim的文件访问权限,还没添加。
config.js忘了添加注释了,assets\default_config.js有可以设置的参数一览(默认值)。

作者: promrhxq    时间: 2018-6-26 18:26
Wimbuilder2  学习了。。。。。
作者: 青青草    时间: 2018-6-27 15:52
slore 发表于 2018-6-26 16:57
问题1:
pe_reg我是想自己做一个宏的,自动替换*.reg文件中的,
[HKEY_LOCAL_MACHINE\SOFTWARE\xxxx]
...

谢谢了!
作者: 起舞    时间: 2018-6-27 19:15
我要下载回来试试。谢谢。
作者: 双响炮    时间: 2018-6-28 20:17
这几天忙,没来得及尝鲜,过几天再学习
作者: xuexiang    时间: 2018-7-3 17:42
大神这么厉害,能不能做个类似win10开始菜单界面的程序,一个页面可以自定义放置自己的软件,pe下使用

无标题.png (141.01 KB, 下载次数: 454)

无标题.png

作者: slore    时间: 2018-7-3 19:17
xuexiang 发表于 2018-7-3 17:42
大神这么厉害,能不能做个类似win10开始菜单界面的程序,一个页面可以自定义放置自己的软件,pe下使用



如果放到快速启动栏,固定界面内容(可配置),当普通程序点下弹出选择很容易,
用WinXShell配置个UI_LAUCHER下就能做。

要是当开始菜单:

就麻烦,有点懒,一直没做。
作者: sx3k    时间: 2018-7-8 21:07
各位大佬,图片中的该怎么办?

WinPE-2018-07-08-20-36-44.png (14.64 KB, 下载次数: 460)

WinPE-2018-07-08-20-36-44.png

作者: sx3k    时间: 2018-7-9 09:19
sx3k 发表于 2018-7-8 21:07
各位大佬,图片中的该怎么办?

只有一个索引
作者: slore    时间: 2018-7-10 00:34
本帖最后由 slore 于 2018-11-3 23:02 编辑
xuexiang 发表于 2018-7-3 17:42
大神这么厉害,能不能做个类似win10开始菜单界面的程序,一个页面可以自定义放置自己的软件,pe下使用


用WinXShell.exe写了一个界面:


做一个快捷方式,固定到任务栏就行了。

自定义界面:
UI_Launcher.zip/main.xml

自定义应用程序启动:
UI_Launcher.zip/main.lua
  1. function onclick(ctrl)
  2.   if ctrl == "calc" then
  3.     suilib.call("run", "calc.exe")
  4.   elseif ctrl == "notepad" then
  5.     suilib.call("run", "notepad.exe")
  6.   end
  7. end
复制代码


旧版的WinXShell.exe也可以出界面,不过只支持窗口在中间或者右下角显示,
附件是开发中的版本,加了一个左下角显示窗口的选项,你可以运行下看看效果。

WinXShell_x64_0709.zip (1.09 MB, 下载次数: 177)

此功能已经集成在最新的WinXShell.exe,且有全屏模式,与Wimbuilder2无关.

作者: xuexiang    时间: 2018-7-10 18:47
slore 发表于 2018-7-10 00:34
用WinXShell.exe写了一个界面:

可以设置全屏显示吗?
菜单图标可不可以提取自程序
可不可以点击后菜单后不消失,
就跟打开一个程序一样不关闭一直在

测试了一下挺好的,17711测试正常


作者: slore    时间: 2018-7-10 22:18
xuexiang 发表于 2018-7-10 18:47
可以设置全屏显示吗?
菜单图标可不可以提取自程序
可不可以点击后菜单后不消失,

WinXShell的xml的UI+配置文件+lua脚本控制的组合非常的灵活

可不可以点击后菜单后不消失
就跟打开一个程序一样不关闭一直在

可以。

UI_Launcher.jcfg中注释掉"OnDeactive":"hide"即可。
删除或者添加任意字符"#OnDeactive":"hide"

==================================================
另外,如果一直显示,何时隐藏呢?
可以追加一个按钮命名 hidebtn,然后在main.lua中的onclick方法添加
  1. elseif ctrl == "hidebtn" then
  2.    sui:hide()
  3. end
复制代码


如果想在任务栏上点击一次显示,再点击一次隐藏那么可以在main.lua添加如下代码:

  1. HIDEME_NEXTTIME = false

  2. function onshow()
  3.   if HIDEME_NEXTTIME then
  4.     sui:hide()
  5.     HIDEME_NEXTTIME = false
  6.   else
  7.     HIDEME_NEXTTIME = true
  8.   end
  9. end
复制代码

可以设置全屏显示吗?

首次打开双击最上面的标题处,可以一直保持全屏。

如果想自动,需要自己在main.lua中写几行代码,控制窗口。
我下个版本在jcfg中提供一个配置参数吧。
"startup_win":"max"


菜单图标可不可以提取自程序

做界面的时候也发现这个问题,程序正在添加记载图标功能,
不过有点麻烦的是,这个UI的各个程序的格子大小不固定,要放到中间的具体大小是不同的,
自动的话,不是很好把握,打算改成main.lua中在onload方法中通过如下方式自己定义UI,你觉得如何?
或者你就是固定100x100的格子,32x32的图标放中间,我自动帮你画图标?


  1. function onload()
  2.    bind_app("app1", "Ghost", "X:\\Ghost\\ghost.exe", "", "icon=xxx.png")
  3.    bind_app("notepad", "记事本", "notepad.exe", "C:\\参数.txt", "icon='notepad.exe,0' dest='20,20,32,32'")
  4. end
复制代码


作者: xuexiang    时间: 2018-7-10 22:59
slore 发表于 2018-7-10 22:18
WinXShell的xml的UI+配置文件+lua脚本控制的组合非常的灵活

感谢楼主耐心回答,闲时参照改改试试
其实我是想做个,做不做也无所谓,
只是有这想法,现在很少使用pe了,就是没事的时候看看论坛,
没有桌面图标,没有开始菜单,只有一个软件或者功能合集的界面,
无奈不懂编程,只认识一丁点英文,基本就是只会照着模板修改
磁盘管理,计算机管理,设备管理器,资源管理器。。。
固定100x100的格子,全屏或者剧中
5x5或者6x6 感觉有25到36位置就够了
如果程序不在system32目录,路径要怎么写

作者: slore    时间: 2018-7-10 23:31
xuexiang 发表于 2018-7-10 22:59
感谢楼主耐心回答,闲时参照改改试试
其实我是想做个,做不做也无所谓,
只是有这想法,现在很少使用pe ...

手上的电脑,没法更新WinXShell,默认最大化全屏和图标提取我估计得到周末了。
如果你只要居中的话,自己修改下
main.xml的第一行,窗口大小,然后UI_Launcher.jcfg中的position改成"center"
作者: 2010wxky6688    时间: 2018-7-23 22:06
路过支持一下,感谢楼主分享!
作者: sghihor    时间: 2018-7-29 21:05
想用Wimbuilder2 做一个

基于win10预览版 带explore的PE。自用

而这对我这样的小白,应该是个挑战吧
作者: slore    时间: 2018-7-29 21:40
sghihor 发表于 2018-7-29 21:05
想用Wimbuilder2 做一个

基于win10预览版 带explore的PE。自用

不知道具体版本,上次更新的时候,一路下一步选择install.wim和winre.wim就可以生成基于WIN10预览版的带explorer的PE。

只要explorer不难。补充DLL和添加点注册表,自己用不在意大小的话,直接把install.wim的注册表复制,很省事。参照别的的PE,dir /B /S *.DLL看看别人添加啥复制来就行了。

PE难的是小体积还功能全。
作者: KevinK    时间: 2018-10-21 17:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: KevinK    时间: 2018-10-22 00:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: slore    时间: 2018-10-22 10:55
KevinK 发表于 2018-10-22 00:36
大神呀,不是点那4个下一步复杂,而是看了一堆代码才倍感复杂。一个小白的理解:就是按照那几个步骤,先做 ...

这个工具是抛砖引玉,针对的是PE生成工具的制作讨论,不是PE。
发这个帖子的是一个讨论PE生成工具的改进,开源,快速,简易化,模块化的一种实现方法。
本想看看是否有兴趣的人参与,不过看来本论坛慢慢的大家时间都不够,没太多热情投入开发,
多数是等成品好了使用者居多。

对于使用者,其实只有:
(运行wimbuilder.cmd,选择install.wim,选择boot.wim(某些wim需要选择索引2)/winre.wim,选择WIN10XPE工程,运行1-run即可。)

这句话,也有部分人理解到了,对19H1等预览版进行PE生成。

你看到的代码是这个PE生成工具本身的脚本代码,对能做PE生成工具的人,
这html/js/bat已经是简单到不行,他们可以看出这中优点。
如果你看到复杂,也是很正常。
通常其他的PE生成工具,添加explorer需要几百行补丁代码,这个工具只要60行,是与PE生成工具的类比。
这套开源脚本的优点,而且希望更多的人提供补丁。
不光能加,这60行也告诉你explorer是如何加上的,我想你也知道有很多人自制PE时卡在给PE添加explorer了吧。多数PE生成器,只是给你explorer的一个选项,你无法知道如何手动添加。

目前所见的自动生成工具都是作者写死的(windows版本更新,不等作者更新就完了),只提供了很小的接口让自定义,也有开源的生成器不要C#开发,.net支持,难度体积都很大。

这个工具是用脚本实现,只要html/js/bat脚本就可以随改随用(这个框架的设计起点新颖)。

不用关心,后面的WinXShell_x64和这个生成工具没有关系,有人问了顺便提。
你就当,有人问说做出来的explorer,开始菜单不能用,别人建议用StartIsBack,
ClassicShell,Start10等软件代替。WinXShell不过是其中一种。
(现在少有把帖子回复也看的人了)

等我有时间完善了这个工具,重新更新下说明,针对【使用者】,【PE生成工具的开发者】分开,
就不这么乱了。


这个框架,对自己修改PE(WIM),增删改文件,更新注册表提供极其方便的形式(批处理宏),
活用的话,PE生成效率显著提供。


作者: KevinK    时间: 2018-10-22 12:39
提示: 作者被禁止或删除 内容自动屏蔽
作者: KevinK    时间: 2018-10-22 14:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: KevinK    时间: 2018-10-22 16:15
提示: 作者被禁止或删除 内容自动屏蔽
作者: 四海皆狂龙    时间: 2018-10-22 17:10
开发用的语言类型太多,反而不利用使用。不如统一使用一种语言。
作者: slore    时间: 2018-10-22 21:22
KevinK 发表于 2018-10-22 16:15
刚才按照大神说的,以WimBuilder.cmd方式运行,结果如下:
运行1-run后,成功了

ISO的模板各不相同,文件有些大我就没上传,相同目录下有个_ISO_目录,
你把系统的ISO中的:

  1. boot(17MB)
  2. efi(20MB)
  3. sources(创建一个空目录)
  4. bootmgr
  5. bootmgr.efi
复制代码


放进去,就可以生产可以启动的ISO了.
作者: KevinK    时间: 2018-10-23 10:07
提示: 作者被禁止或删除 内容自动屏蔽
作者: 2011mtw35    时间: 2018-11-14 19:11


17134制作失败


作者: slore    时间: 2018-11-14 19:58
2011mtw35 发表于 2018-11-14 19:11
17134制作失败

bin\_Process.bat第56行
利用dism命令,获取winre.wim的版本,语言信息。

你本机运行:
dism /Get-WimInfo /WimFile:"D:\sources\winre.wim" /Index:1 /English

可以出结果么?可以的话,你把结果给我看下,不知道是不是版本不同结果解析不对。
作者: 2011mtw35    时间: 2018-11-14 21:13
slore 发表于 2018-11-14 19:58
bin\_Process.bat第56行
利用dism命令,获取winre.wim的版本,语言信息。






作者: 2011mtw35    时间: 2018-11-14 21:23
本帖最后由 2011mtw35 于 2018-11-14 21:37 编辑

做好了,是我理解错误,但如果完善后,希望写一个配图片的教程。

1.点【准备】,选择 install.wim,选择 boot.wim,下一步,

2.选WIN10XPE工程,下一步,

3.patch跳过,直接下一步,
4.点1-run,再点2-make_iso











作者: 2011mtw35    时间: 2018-11-14 21:36

1、生成的BOOT.WIM有点大,还有生成的ISO不能直接启动,只能使用其他ISO外壳更换才能启动。


2、希望可以自己选择添加的选项,实现DIY控制内核大小。


3、虚拟机下测试更换好的ISO外壳,只看到加载菊花画面,无法进入桌面。


作者: slore    时间: 2018-11-14 22:41
本帖最后由 slore 于 2018-11-14 22:44 编辑
2011mtw35 发表于 2018-11-14 21:36
1、生成的BOOT.WIM有点大,还有生成的ISO不能直接启动,只能使用其他ISO外壳更换才能启动。


感谢详细反馈。

1、生成的BOOT.WIM有点大,还有生成的ISO不能直接启动,只能使用其他ISO外壳更换才能启动。


把系統的
  1. boot文件夹
  2. efi文件夹
  3. bootmgr
  4. bootmgr.efi
复制代码

放到:
_ISO_目录,就行了,这些40MB,而且不同的人ISO要求不一样,我没特别处理,先整好WIM吧。
你有自己的模板也可以放过,会把boot.wim放到sources目录,生成ISO。
bin\_MakeISO.bat,你有特殊结构的话,可以改这里。

2、希望可以自己选择添加的选项,实现DIY控制内核大小。


本来就可以啊。新建一个"精简"文件夹,里面放一个main.html(内容“精简”),
然后放一个main.bat,里面可以写:
  1. del /f X:\Windows\Fonts\xxxx
  2. copy slim.ttf  X:\Windows\Fonts\simsun.ttf
  3. del / X:\Windows\System32\xxx.dll
复制代码



为了保证追加功能顺利,暂时没有精简。

补丁的详细做法参照21~28楼:
http://bbs.wuyou.net/forum.php?m ... page%3D1&page=1

3、虚拟机下测试更换好的ISO外壳,只看到加载菊花画面,无法进入桌面。

先确认下,你把winre.wim改名boot.wim做成ISO可否启动。
我看你是Win8 x64的配置,可能是虚拟机环境的问题。或者ISO的问题,建议用系统boot,bootmgr作为
ISO模板。
作者: 2011mtw35    时间: 2018-11-15 19:10
slore 发表于 2018-11-14 22:41
感谢详细反馈。

精简问题可以暂时搁下,主要是是否可以制作成功启动,我的ISO外壳是在其他10PE使用的,
没什么问题,还有虚拟机8x64环境不影响ISO的测试,最少我电脑里面60多个PE都可以
测试到桌面,所以这个问题可以排除。

作者: slore    时间: 2018-11-15 23:43
本帖最后由 slore 于 2018-11-16 08:23 编辑
2011mtw35 发表于 2018-11-15 19:10
精简问题可以暂时搁下,主要是是否可以制作成功启动,我的ISO外壳是在其他10PE使用的,
没什么问题,还 ...


我测试了RS5的预览版,以及昨天出的最新版,都可以启动(在一个Windows 10,一个Windows 7上测试都成功(开始以为Dism命令版本的问题))。
我看你的构建用的17134,我刚又下了一个RS4的镜像测试了下,也可以启动。
我录了一个构建以及虚拟机启动的GIF,你可以看下。麻烦你再试试用系统的ISO模板。

4MB,按2MB分段压缩了,下载2个文件放到一起,z01.zip的.zip去掉,就可以解压了。

build_rs4.z01.zip (2.2 MB, 下载次数: 30)
build_rs4.zip (1.84 MB, 下载次数: 25)

你的模板也可以给我,我这边也试试。如果你有RS5的话,也可以构建下看看。
现在正在把声音驱动,网络驱动的脚本转换过来,没法测试很多版本。

作者: 2011mtw35    时间: 2018-11-16 19:59
slore 发表于 2018-11-15 23:43
我测试了RS5的预览版,以及昨天出的最新版,都可以启动(在一个Windows 10,一个Windows 7上测试都成功( ...

链接:https://pan.baidu.com/s/170JgWBiAJube-mbIKkdWRg
提取码:ljwe

作者: slore    时间: 2018-11-16 21:08
本帖最后由 slore 于 2018-11-16 21:16 编辑
2011mtw35 发表于 2018-11-16 19:59
链接:https://pan.baidu.com/s/170JgWBiAJube-mbIKkdWRg
提取码:ljwe


用你的模板makeiso失败了。发现是boot里面没有etfsboot.com(我用7zip查看,提取WIN10X64_PE.ISO)。
你是不是加载的第一次的ISO。。。(我的空ISO模板)

复制WimBuidler\bin\etfsboot.com到你的模板的boot中,
就可以makeiso了,我测试17134,17763都可以启动起来。

如果是这个问题,我可以更新makeiso,当不存在此文件时复制。
不过看你的截图,ISO可以启动。。。只是不能进桌面,和不能生成ISO是2回事。
作者: slore    时间: 2018-11-16 21:41
本帖最后由 slore 于 2018-11-16 22:47 编辑
2011mtw35 发表于 2018-11-16 19:59
链接:https://pan.baidu.com/s/170JgWBiAJube-mbIKkdWRg
提取码:ljwe


哦,我好像知道原因了。这个WIN10XPE工程的作者是用winre.wim为模板做的。

有些文件winre.wim就带了,但是boot.wim没有,没有添加进去导致文件不完整。

你解压,install.wim\windows\system32\recovery\winre.wim
出来,作为构建目标,试试。

install.wim:1索引
winre.wim:1索引

作者: yigeren    时间: 2018-11-16 22:02
在Win7-32位系统下,是不是不能制作64位的PE?在运行RUN命令过程看到命令行提示wimextract不是内部命令出错了
作者: slore    时间: 2018-11-16 22:49
本帖最后由 slore 于 2018-11-16 22:51 编辑
yigeren 发表于 2018-11-16 22:02
在Win7-32位系统下,是不是不能制作64位的PE?在运行RUN命令过程看到命令行提示wimextract不是内部命令出错 ...


哦,x86漏了一个批处理文件。
复制bin\x64\wimextract.cmd到bin\x86下面。

(本来应该放到bin下面共用的,之后的版本修复吧,你先手动复制吧)
作者: slore    时间: 2018-11-16 23:32
frg521 发表于 2018-11-16 23:17
请在首页说明使用环境与最低需求,比如要系统win10以上,需要完整ie支持,完整脚本,ado,之类的,翻腾了许 ...

谢谢反馈。hta,vbscript,jscript,dism是最低要求,winre.Wim都带,不用IE。从Windows7到Windows server 2019正常都支持的。

精简系统,或者因为安全性,把部分脚本屏蔽了可能会出错。默认系统自带的,我就特别说明。

wimlib估计是要VC++运行库,我没注意。
我回头装个虚拟机验证下,把必要的组件说明,并且代码添加运行环境检查。
作者: slore    时间: 2018-11-16 23:37
frg521 发表于 2018-11-16 23:17
请在首页说明使用环境与最低需求,比如要系统win10以上,需要完整ie支持,完整脚本,ado,之类的,翻腾了许 ...

映射X盘,是保持和PE一样路径,要删除文件就直接
del x:\Windows\xxx,复制也一样,直接到路径。
另外可以提前创建快捷方式到Wim,提高开机加载速度。

不用X也可以,不过补丁很多写死的,X:\都要替换成%X%:。我再考虑下。
作者: slore    时间: 2018-11-17 10:04
frg521 发表于 2018-11-16 23:17
请在首页说明使用环境与最低需求,比如要系统win10以上,需要完整ie支持,完整脚本,ado,之类的,翻腾了许 ...

hta本身不需要IE,不过做成比较好看的界面和操作,引入了jquery.js和jstree.js等开源web组件,
jquery用的最新版3.3.1,去官方看了下,2.0.0(2016年)开始只支持IE9以上,IE6~IE8有很多坑,
开发者厌倦了维护,最后一个支持IE8的版本是1.12.4,我下载一个老版在WIN7(IE8)里面测试可以,
不过,补丁的树形选择插件有些动作事件无法使用,估计也需要替换低版本。

我会在首页更新下要求,同时看看可以不可以做一个兼容旧环境的版本。
作者: sp_star    时间: 2018-11-17 14:25
从方便使用的角度,提几个小建议:
1. 选择install.wim,选择boot.wim(某些wim需要选择索引2)/winre.wim
    由于不需要挂载了,这一步可以可以选择"source folder", 就是iso挂载后的盘符。这样只需要选择一次,也不需要了解wim文件在哪里。
2.  第一步和第二部界面可以合一,减少步骤。win10pe的工程可以默认选上,不需要再点击一次。
2. _ISO_目录下所需文件install.wim里都有的,可以自动提取出来,不需要自己准备。
作者: slore    时间: 2018-11-17 17:28
sp_star 发表于 2018-11-17 14:25
从方便使用的角度,提几个小建议:
1. 选择install.wim,选择boot.wim(某些wim需要选择索引2)/winre.wim
...

目前重点是“补丁”和“构建”的完成,前面页面只是提供个基本设置,本来打算后面完善的。
不过看到大家的反馈这个周末打算改下:

1.提示信息,选择构建用的install.wim,与需要编辑的winre.wim/boot.wim源等等,
而不是“请设置基本信息”。

2.另外,按你说的,可以选择系统镜像根目录(_ISO_没文件自动提取),
或者sources目录,自动识别。
然后,给个选项自动从install.wim提取winre.wim。

再给一个说明:
可以修改config.js来配置,常用位置。
(D盘这个是我的环境,如果配置了存在winre.wim,是直接跳过这个设定页面的,
所以我基本就看不到这个画面)


WIN10XPE的默认选择,我再考虑下,其实有很多工程我本地,用来测试界面,测试构建,
还有些测试“补丁”的项目。而且对于WimBuilder2是推荐自己做自己的PE,我提供WIN10XPE,
主要作为补丁制作的例子。

如果只存在一个工程就默认选择好了。

现在,我先给IE8支持做“补丁”。
作者: tegl    时间: 2018-11-17 18:03
感谢分享,支持原创
作者: sp_star    时间: 2018-11-17 19:10
slore 发表于 2018-11-17 17:28
目前重点是“补丁”和“构建”的完成,前面页面只是提供个基本设置,本来打算后面完善的。
不过看到大家 ...

下载一般是iso,双击就会加载到一个盘符,这就是“source folder”, 这对使用者来说是最方便的,不需要提取出install.wim.
另外,可以看看能不能直接使用boot.wim,这样不需要提取winre.wim.
作者: slore    时间: 2018-11-17 19:26
sp_star 发表于 2018-11-17 19:10
下载一般是iso,双击就会加载到一个盘符,这就是“source folder”, 这对使用者来说是最方便的,不需要提 ...

最初只加explorer可以使用boot.wim,但是后来加了DWM,输入法,搜索,驱动等,是按照WIN10XPE一个国外论坛维护的PE,只补充winre缺的东西,winre自带LAN网络,无线支持也比boot方便。
boot的要自己补文件,这个工具方便做PE,不限定WIN10XPE,用WIN10XPE是因为各组件要补的文件是现成的,我不用去一个个去测试缺什么文件,少什么注册表。
作者: slore    时间: 2018-11-17 19:31
sp_star 发表于 2018-11-17 19:10
下载一般是iso,双击就会加载到一个盘符,这就是“source folder”, 这对使用者来说是最方便的,不需要提 ...

我是把ISO解压出来Wim在固态上(40秒构建1次PE),就移动TB的硬盘,备份了。不保留ISO。都给放到界面自己选择吧,反正就10来行HTML加几个按钮。
作者: sp_star    时间: 2018-11-17 19:44
slore 发表于 2018-11-17 19:26
最初只加explorer可以使用boot.wim,但是后来加了DWM,输入法,搜索,驱动等,是按照WIN10XPE一个国外论坛 ...

这样当然也没问题,还更方便
作者: lhpxs    时间: 2018-11-18 15:44
楼主自己写的软件,那真利害
作者: slore    时间: 2018-11-20 01:03
反馈的问题,都进行了改善,并且可以在纯boot.wim(2)/winre.wim环境进行使用,不会存在无法使用的情况了。(停电了,只测试了x64,x86应该问题不大)
这周就到这里,休息几天。
作者: dwtr    时间: 2018-11-20 10:09
任务管理器英文的,还有启动的时候桌面后能否把cmd窗口最小弄到托盘上
作者: slore    时间: 2018-11-20 10:32
本帖最后由 slore 于 2018-11-20 10:54 编辑

WimBuilder2的问题反馈,改善建议在这里提出进行讨论。


WImBuilder2构建的WIN10XPE的问题反馈,改善建议,请在下面主题进行讨论。
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2
Re:WIN10XPE - 从零开始构建的PE


作者: slore    时间: 2018-11-20 10:33
dwtr 发表于 2018-11-20 10:09
任务管理器英文的,还有启动的时候桌面后能否把cmd窗口最小弄到托盘上

可以的,默认创建的工程只使用系统的原生文件,生成纯净PE,目的是了解系统组件的依赖,保持体积在3MB,论坛可以直接上传。

任务管理器英文,我之后处理下。
最小化cmd启动窗口,也可以用vbs实现,我回头添加一个参数试试。

不过可能直接用pecmd会更方便吧,代码其实已经处理了,把pecmd.ini,pecmd.exe放到
Projects\WIN10XPE\X\Winodws\System32下面,就可以了。

使得PE更易用,含非系统文件的扩展补丁:
"开始菜单(StartIsBack)" 补丁
"PECMD.exe启动管理" 补丁
"PENetwork" 补丁

将在:
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D2
Re:WIN10XPE - 从零开始构建的PE

中更新,把补丁下载覆盖到Projects下即可。
我晚上回去提交下。
作者: hexin2014    时间: 2018-11-22 10:08
生成ISO后,在虚拟机上测试,点开始菜单没反应,点不开,不知道是怎么回事
作者: slore    时间: 2018-11-22 12:29
hexin2014 发表于 2018-11-22 10:08
生成ISO后,在虚拟机上测试,点开始菜单没反应,点不开,不知道是怎么回事

这是Wimbuilder这个工具的主题,里面带的PE例子,只使用Windows原生文件,生成纯净PE系统。
所有WIN10PE目前都无法使用自带开始菜单。

可以使用第三方开始菜单工具来完善。

包含第三方工具的,对应构建的WIN10XPE的主题在
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=411399

其中#29楼,有StarIsBack的补丁。
http://bbs.wuyou.net/forum.php?m ... &fromuid=166812

下载然后将
\WimBuilder2\Projects\WIN10XPE\01-Components\00-Shell\za-StartMenu
这个目录复制到最新版本中。重新构建即可。

另外,因为新版本的WimBuilder2可以在PE环境运行,所以本来映射的X可能被占用了,
现在新版本使用自动检测模式,所以 旧版本的 补丁包

WimBuilder2\Projects\WIN10XPE\01-Components\00-Shell\za-StartMenu\StartIsBack\main.bat
的开头2行,需要把X:\ 改成 %X%\

xcopy /E /Y X\*.* %X%\
if not "%WB_PE_ARCH%"=="x64" del /f "%X%\Program Files\StartIsBack\StartIsBack64.dll"


对于WimBuilder2工具,有主要功能变化了,我会更新,至于PE作品那边,
不打算频繁更新,周末集中更新,我目前没法上传文件,所以,你先下29楼的版本,
自己改下用。周末我会更新新版本的 补丁,以及 PECMD.exe接管启动的补丁(来隐藏cmd的黑框)。


作者: 双响炮    时间: 2018-11-22 18:29
终于又看到更新啦
作者: slore    时间: 2018-11-26 20:29
frg521 发表于 2018-11-26 18:22
持续2个月,所有版本均无法,实现(64位的)(进不到桌面)  (后话:15063X64-中文-可以纯64位)
WIN10.14997.1001 ...


你能构建成功15063说明这个PE生成器没有问题。

我在PE发布区说了,我的补丁只确保前一个稳定release(RS4) v1803 10.0.17134 ,和当前最新版本(RS5) v1809 10.0.17763可以成功。

如果你需要支持特定的版本,你需要找出需要的文件和注册表的差别,制作对应的补丁差分。

因为不同的版本需要的文件和注册表内容不完全一样,需要不断的尝试。
或者用现成的可以用的PE,dir /b /s来确认缺少啥文件。


这个是Shell\main.bat
  1. +ver > 17000
  2. cdp.dll,dsreg.dll,VEEventDispatcher.dll

  3. +ver >17700
  4. ; shellstyle.dll(.mui) is now in \Windows\resources\themes\aero\shell\normalcolor
  5. \Windows\resources\Themes\aero\shell

  6. ; dll for StateRepository (AppRepository). The StateRepository service is not registered in the Registry
  7. StateRepository.core.dll,Windows.StateRepository.dll
  8. Windows.StateRepositoryBroker.dll,Windows.StateRepositoryClient.dll

  9. +ver <= 17700
  10. shellstyle.dll
复制代码


对17134,17763用了很方便的方式来添加不同的差分需要的文件,这个是这个工具的特点,
但是维护生产所有版本,我想现有的任何生成工具都不会去提供。也不是我这个开源工具需要做的事情,
我是给提供一种更快捷简便,自定义扩展极高的工具来制作PE,或者制作精简WINDOWS系统(dism命令操作WIM映像)。


你提供的版本10.0.14997,是介于 14393  RS1(v1607),15063  RS2(v1703)的中间测试版本,都1年半快2年前的版本了,
v1703 RS2都被微软结束生命周期正式停止支持。这个版有什么特殊的需要用它作为基版制作?

对于我个人而言,RS5最新版都没有什么做PE的意义,只是用来测试工具而已,所以我没有精力帮你确认在14997上的差异文件。
WIN10XPE的补丁,也是我从别人的工程,转换为WimBuilder2的简洁批处理补丁格式,以便于后续版本简单追加差分补丁,
我没有一一确认某个文件是否必要或者多余,和什么功能有关系。

如果你知道差异文件和注册表内容,对于如何用WimBuilder2来编写补丁,需要什么宏,或者想要什么方便的功能我是可以给你例子和说明,或者加强WimBuilder2。
作者: cakeandjam    时间: 2018-11-26 22:08
thank you.
作者: hexin2014    时间: 2018-12-4 10:50
这个js脚本文件page_project.js提示脚本出错:56行9列 无法获取未定义或null引用的属性“desc"。大神如何解决
作者: slore    时间: 2018-12-4 12:38
hexin2014 发表于 2018-12-4 10:50
这个js脚本文件page_project.js提示脚本出错:56行9列 无法获取未定义或null引用的属性“desc"。大神如何解 ...

是自己定义的工程还是 默认的WIN10XPE工程?
这里没有获取到选中的工程。
很奇怪,按理说选择了 WIN10XPE 变成红色的话应该没问题。

assets\js\page_project.js你添加3行调试语句,看看弹出消息是啥。


    $('.project-button').click(function(){
        ...
        var project = $obj_project;
        alert(project);
        if (last_selected_project != selected_project) {
           alert(name);
            project = Project.New(name);
            alert(project);
            $obj_project = project;
            $obj_patches = null;
        }
56:        $('#project_desc').html('<p>' + project.desc.replace(/\r\n/g, '<br/>') + '</p>');



方便的话,把你的保存的路径给我说下,
上传你的完整的Wimbuilder2文件夹,我这边确认下。

另外,晚上会更新新版本,你也可以再试试。


作者: 青青草    时间: 2018-12-7 09:38
建议加入微软五笔。谢谢!
作者: hexin2014    时间: 2018-12-7 10:02
下载1204版还是脚本报错,只要把project中的win10xpe替换为带开始菜单的那个补丁,就会报脚本错误
作者: zhangzan30    时间: 2018-12-7 15:28
Wimbuilder2都做成图形化了
作者: 2011mtw35    时间: 2018-12-7 21:03

17134.1版本这次总算进入桌面了。

1、发现生成的ISO还是启动不了,只能换外壳解决,就是上次给你那个。

2、进入桌面总是停留在CMD画面,删除CMD就变蓝色一片,一会再返回桌面。


3、选择了网络和声音,任务栏什么也没有。

4、内核没有pecmd.exe和pecmd.ini,不知道怎么添加软件?


作者: slore    时间: 2018-12-7 22:53
2011mtw35 发表于 2018-12-7 21:03
17134.1版本这次总算进入桌面了。

1、发现生成的ISO还是启动不了,只能换外壳解决,就是上次给你那个 ...

1. 刪除 _ISO_ 文件夹中的内容,把你的模板复制进去

2. 不应该,关闭CMD窗口会重启PE才对。因为用的默认startnet.cmd方式启动。

3. 你的截图大小1038x647,感觉是1024 x 768? 的桌面,你有滚动条没有拖动?

4. 我先做不带第三方组件的实例PE,3方很简单,你复制到Projects\WIN10XPE\ X 目录就行了。

如果希望做成可以选择的,我下一楼,给出2个补丁,一个PECMD,一个PENetwork的实例。

作者: slore    时间: 2018-12-7 22:58
本帖最后由 slore 于 2018-12-7 23:11 编辑

PECMD作为启动器,隐藏掉CMD命令提示符窗口的补丁

z-PECMD.zip (1.48 MB, 下载次数: 617)

方法1(最简单):
直接将所需文件(pecmd.exe, pecmd.ini)复制到WimBuilder2\Projects\WIN10XPE\X\目录。

方法2(推荐,界面上可以选择使用不使用此补丁):
解压到
WimBuilder2\Projects\WIN10XPE\00-Configures(推荐)
或者
WimBuilder2\Projects\WIN10XPE\02-Apps
即可。

================================================================
  1. PS D:\Dev\WimBuilder2\Projects\WIN10XPE\00-Configures> tree /f
  2. └─z-PECMD
  3.     │  main.bat
  4.     │  main.html
  5.     └─X_SYS32
  6.             Pecmd.ini
  7.             Pecmd_x64.exe
  8.             Pecmd_x86.exe
  9.             winpeshl.ini
  10.             transparent.ico        <--- 跟PECMD补丁没关系,explorer的补丁把快捷方式图标改了,
  11.                                             用PECMD创建快捷方式会变难看,所以放进来了先。

复制代码


main.bat的内容很简单,就是复制文件
  1. @echo off
  2. xcopy /E /Y     X_SYS32\*.* "%X_SYS%"
  3. ren "%X_SYS%\Pecmd_%WB_PE_ARCH%.exe" Pecmd.exe
  4. del /q "%X_SYS%\Pecmd_*.exe"
  5. del /q "%X_SYS%\wallpaperhost.exe"
复制代码

作者: slore    时间: 2018-12-7 23:09
本帖最后由 slore 于 2018-12-7 23:11 编辑

为PE添加PENetwork工具的补丁
PENetwork.zip (1.94 MB, 下载次数: 342)


将附件解压至
WimBuilder2\Projects\WIN10XPE\02-Apps

补丁结构:
  1. PS D:\Dev\WimBuilder2\Projects\WIN10XPE\02-Apps> tree /f
  2. └─PENetwork
  3.     │  main.bat
  4.     │  main.html
  5.     ├─X_x64
  6.     │  └─Program Files
  7.     │      └─PENetwork
  8.     │              PENetwork.exe
  9.     │              PENetwork_*.lng
  10.     │              startnet.exe
  11.     │              ...
  12.     └─X_x86
  13.         └─Program Files
  14.             └─PENetwork
  15.                     PENetwork.exe
  16.                     PENetwork_*.lng
  17.                     startnet.exe
  18.                     ...
复制代码


main.bat也只是简单的复制
  1. main.bat
  2. @echo off
  3. rem call X2X macro
  4. xcopy /E /Y X_%WB_PE_ARCH%\*.* %X%\
复制代码



最终希望添加第三方软件,只要把zip包放到Apps下,就自动添加,不用写main.bat,
自动识别保存位置,创建快捷方式,目前还在设计,请先这样用吧。


作者: wangziqiang    时间: 2018-12-27 21:30
菜鸟一枚求win8.1的工程
作者: xuexiang    时间: 2019-1-24 19:10
github最新版(含WIN10XPE工程)
永久地址: https://github.com/slorelee/wimbuilder2/archive/master.zip
总是下载不下来最多2.5mb就不动了
SYSTEM(Administrator)双登陆新版有补丁吗
或者直接管理员补丁





欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3