本帖最后由 slore 于 2018-6-24 22:40 编辑
workflow.png (227.73 KB, 下载次数: 72)
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\\\\install\\windows\\system32\\config\\*.*
wimbuilder(批处理)->wimbuilder(批处理): 复制boot.wim到*_Factory_*(工厂)进行加工
note right of wimbuilder(批处理): 复制boot.wim到\n_Factory_\\target\\\\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\\\\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\\\\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