无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)最好用的系统一键装机工具广告联系 QQ:184822951 微信:wuyouceo
查看: 42607|回复: 365

[原创] Wimbuilder2-基于hta/vbs/js/bat的图形界面新的PE生成器

    [复制链接]
发表于 2018-6-24 15:08:12 | 显示全部楼层 |阅读模式
本帖最后由 slore 于 2020-5-8 23:25 编辑

Wimbuilder2

特点:
  • 纯脚本打造,小,简单,快速且可自由修改所有功能, 所作更改, F5刷新即生效, 不用编译, 不用打包, 不用安装
  • 利用wimlib直接从install.Wim提取所需文件,省去挂载卸载install.wim时间,生成速度非常快
  • 使用TrustInstaller权限启动, 不需要对文件,注册表进行权限修改,生产速度更快
  • 设定界面采用HTML, 随改F5刷新即可见, 支持目前绝大部分HTML5语法, 更做出更炫,更自由的设定界面(还可以使用js脚本, 动态改变)
  • 对系统功能所需文件,注册表从结构上独立成单个功能补丁, 便于学习, 和给更多版本参考共用
  • 为增删改Wim内容提供便利宏命令(批处理),制作补丁不用写复杂脚本, 使用简单的文件列表, 注册表信息即可,功能补丁制作学习曲线低
  • 脚本自身(js),界面(html),补丁(bat)均采用广为人知的脚本语法,普通用户可利用常用宏,懂bat等即可创建自定义宏
  • 自定义设定界面, 自定义组件功能补丁完全独立,可以给不同工程共用
  • 界面,脚本,功能补丁支持国际化


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

程序截图:
start1204.png
build_2.png
build_3.png
build_1204.png
wb_shot4.png

最新更新反映在 【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):

  • 原生Windows Explorer外壳(RS5以上支持暗黑主题)
  • DWM服务支持
  • 设备管理器
  • 磁盘管理器
  • 服务管理器
  • 原生简体中文,繁体中文,韩语输入法
  • 原生搜索功能 (2018-11-18)
  • 基本显示器驱动,显卡驱动 (2018-11-18)
  • 网络支持 (2018-11-18)
  • WOW64支持(x64环境下可运行x86程序) (2018-12-05)
  • IE 11(x64 & x86) (2018-12-05)


re0_screenshot.png

使用方法:
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, 下载次数: 1441)
wb_shot2.png
VirtualBox_win2016en_20_11_2018_00_46_38.png

WimBuilder2_with_WIN10XPE.zip

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

点评

利用wimlib直接从install.Wim提取所需文件.这个强大。  发表于 2018-6-24 22:23

评分

参与人数 32无忧币 +152 收起 理由
MapleSugar + 15 很给力!
k25566 + 1 大佬V5!
sunshineboy + 1 赞一个!
pewors + 5 赞一个!
826773297 + 5 支持一下
qli365 + 5 赞一个!
幻天雨 + 5 很给力!
2010yaobin + 5 很给力!
hack1vip + 1 很给力!
danmo + 5 赞一个!
ZHAGBG + 5 很给力!
Hysanohsp + 5
某些人 + 1 很给力!
sx3k + 5 赞一个!
chshrm + 5 牛叉!
2011shenql + 5 赞一个!
dwtr + 3 很给力!
cuicongyuan + 5 好啊
泰立信 + 5 赞一个!
2011mtw35 + 5 很给力!
wuhuyou + 5 很给力!
2012baiduzhidao + 5 很给力!
foolst + 5 很给力!
palm777qqq + 5
xq8751 + 5
shensen + 5 赞一个!
新空气 + 5
立帮电子 + 5 很给力!
1400700226 + 5
MPFENG + 5 赞一个!

查看全部评分

 楼主| 发表于 2018-6-24 15:08:33 | 显示全部楼层
本帖最后由 slore 于 2018-6-24 22:40 编辑

workflow.png

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
回复

使用道具 举报

 楼主| 发表于 2018-7-10 00:34:08 | 显示全部楼层
本帖最后由 slore 于 2018-11-3 23:02 编辑
xuexiang 发表于 2018-7-3 17:42
大神这么厉害,能不能做个类似win10开始菜单界面的程序,一个页面可以自定义放置自己的软件,pe下使用


用WinXShell.exe写了一个界面:
UI_Launcher.png

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

自定义界面:
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, 下载次数: 135)

点评

可以设置全屏显示吗? 菜单图标可不可以提取自程序 可不可以点击后菜单后不消失, 就跟打开一个程序一样不关闭一直在 测试了一下挺好的,17711测试正常  详情 回复 发表于 2018-7-10 18:47
回复

使用道具 举报

发表于 2018-6-25 15:34:24 | 显示全部楼层
本帖最后由 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, 下载次数: 87, 下载积分: 无忧币 -2

清单

点评

wimbuilder是一个构建框架,具体什么功能要看大家对“补丁”的分享了。某些生产工具是不可见的,出错了只能等作者,而这个是批处理等脚本实现,可以自己定位问题,自己改善。  发表于 2018-6-25 15:58
预览版是explorer不能启动?这个是依赖文件或者注册表变化,要改main.bat。依赖组件服务对了,注册表信息对了就好了。如果有人winbuilder的预览版例子,可以对比,快速改造出来。  发表于 2018-6-25 15:56
回复

使用道具 举报

 楼主| 发表于 2018-6-24 15:08:35 | 显示全部楼层
本帖最后由 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的情况下,不需要,如果磁盘空间,或者被占用导致构建失败时,才需要按此按钮)

回复

使用道具 举报

 楼主| 发表于 2018-6-24 15:08:39 | 显示全部楼层
本帖最后由 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)

  • 支持选择镜像盘,且根据系统镜像创建ISO模板
  • 支持选择sources目录,直接关联install.wim和boot.wim/winre.wim
  • 支持从install.wim自动提取winre.wim
  • 界面进行必要的提示,与检查
  • 当仅有一个工程时,默认选择该工程


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 更新:
  • 修复:最新预览版(10.0.17692.1000)构建时,无法正常卸载的问题
  • 改进:当默认boot.wim不存在时,先显示【准备】界面
  • 改进:暂时禁用【准备】页面变更【工作空间】按钮(WORKSPACE,Projects存放目录,暂时使用当前目录)
  • 改进:当不存在_ISO_模板时,提供一个最小ISO模板(保证生产ISO按钮成功)


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

使用道具 举报

 楼主| 发表于 2018-6-24 15:08:43 | 显示全部楼层
本帖最后由 slore 于 2018-11-22 02:13 编辑

占楼


auto3.png

WimBuilder2_1122.zip (2.89 MB, 下载次数: 77)
回复

使用道具 举报

发表于 2018-6-24 16:16:41 | 显示全部楼层
占楼
回复

使用道具 举报

发表于 2018-6-24 18:22:57 | 显示全部楼层
占楼是不是太多了?!
回复

使用道具 举报

发表于 2018-6-24 18:36:56 | 显示全部楼层
看看更新了什么
回复

使用道具 举报

发表于 2018-6-24 19:31:02 来自手机 | 显示全部楼层
感谢分享,
回复

使用道具 举报

发表于 2018-6-24 20:47:53 来自手机 | 显示全部楼层
沙发没占上
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-7-11 04:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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