浏览到D:\\mount\\windows\\system32\\config目录下(注意这里是D盘),选中system,确定。 (system文件对应的是其所属系统注册表中的HKEY_LOCAL_MACHINE\\SYSTEM)
项名称随便填,不冲突就行了,我这里填123,确定。 然后就会发现HKEY_LOCAL_MACHINE下多了个123。
展开123,选中setup,在右边将CmdLine的键值由“oobe\\windeploy.exe”修改为“deploy.cmd”。
选中123,菜单-文件中卸载配置单元,注册表编辑完毕。 (注意不要卸载到当前系统的HKEY_LOCAL_MACHINE)
编辑一个deploy.cmd,放到system32下,内容如下:
@ECHO OFF
start /wait %windir%\\Tools\\64Driver.cmd
start /wait %windir%\\system32\\oobe\\windeploy.exe start /wait %windir%\\Tools\\64Tools.cmd EXIT
说明:deploy.cmd中必须包含有start /wait %windir%\\system32\\oobe\\windeploy.exe,调用系统本身的部署程序,否则系统将无法部署,装出来的系统便废了。
如此,wim映像的的修改便完成了。
提交更改并卸载映像:Dism /Unmount-Wim /MountDir:D:\\mount /commit 【三、OEM资料包的基本结构】
我们需要制作一个OEM资料包来为我们的系统安装服务。
在D盘根目录新建一个$OEM$文件夹,基本结构如下
$OEM$ $OEM$\\$$
$OEM$\\$$\\setup\\Scripts ——存放安装部署过程中调用的Oobe.cmd和SetupComplete.cmd $OEM$\\$1
系统安装时,
$$目录下的文件会释放到Windows目录下(%windir%或%systemroot%), $1目录下的文件会释放到系统盘根目下(%systemdriver%)。 更详细的oem资料包本文略。
我们再为之增加两个目录:
$$下 Tools ——用来存放e驱动、运行库和激活工具,
$1下 Soft ——用来存放我们需要在系统安装完成后自动安装的日常软件。
编辑Oobe.cmd,放到$OEM$\\$$\\setup\\Scripts下,内容:
@ECHO OFF
DEL /Q /S %windir%\\system32\\deploy.cmd RD /Q /S %windir%\\Tools
RD /Q /S %systemdrive%\\Drivers
RD /Q /S %Systemroot%\\Setup\\Scripts EXIT
作用是部署完成后,在oobe阶段,删除这些文件和文件夹。
【五、OEM资料包中集成万能驱动助理(e驱动)、运行库和安装程序】
将下载好的e驱动解压到Tools目录下。
编辑一个64Drive.cmd,也放在Tools目录下,内容:
@echo off
echo 正在解压驱动包,稍候……
start /wait %windir%\\Tools\\WanDrv6_Win7.x64_6.0.2014.0322\\[Win7.x64]WanDrv6.exe –deploy EXIT
注意:WanDrv(x64).exe后空格加-deploy参数不能漏。
同样的,将directx,vc,flash player等的安装程序放在Tools目录下。 编辑一个64Tools.cmd,也放在Tools目录下,示例:
@echo off
echo 正在安装运行库,请稍后……
start /wait %windir%\\Tools\\flash_player_ax_64bit.exe /install start /wait %windir%\\Tools\\directx\\dxsetup.exe /silent start /wait %windir%\\Tools\\vc\\0532.exe /q start /wait %windir%\\Tools\\vc\\0564.exe /q start /wait %windir%\\Tools\\vc\\0832.exe /q start /wait %windir%\\Tools\\vc\\0864.exe /q start /wait %windir%\\Tools\\vc\\1032.exe /q start /wait %windir%\\Tools\\vc\\1064.exe /q
echo 正在激活系统,请稍等……
start /wait %windir%\\Tools\\WindowsLoader.exe /install /silent /norestart EXIT
注意:
路径和安装程序的文件名不要有空格,我们要自己重命名好; 每个安装程序后面都加上静默参数。
e驱动 5.x:主程序EasyDrv6(x86.exe)(32位)或EasyDrv6(x64.exe)(64位),参数为-deploy VC++运行库:主程序为官方的安装包,参数为/q
DX9运行库:主程序设定为官网安装包解压后的dxsetup.exe,参数为/silent Adobe Flash Player:主程序为官方的安装包,参数为-install
如此,配合【三】中的映像修改,便使deploy.cmd在系统部署前后,通过64Drive.cmd和64Tools.cmd分辨调用了e驱动和运行库的安装、自动激活工具。
【六、首次进入桌面后调用软件安装程序】
CC提醒我要在首次进入桌面后安装软件,我们这样做:
通过微软官方的WAIK帮助文档的方法稍微复杂,我们这里通过在开始菜单的启动目录下添加soft.lnk,来达到我们进入桌面后调用软件安装的目的。
将软件安装程序放在$OEM$\\$1\\Soft目录下,同时编辑Soft.cmd(和Tools类似),示例:
@echo off
echo 自动安装软件,按任意键开始安装…… Pause >nul
start /wait %systemdrive%\\soft\\wps.exe /S
start /wait %systemdrive%\\soft\\foxit.exe /verysilent echo 软件安装完成,按任意键退出…… pause >NUL
RD /Q /S %systemdrive%\\Soft && exit >NUL
这里可能需要解释一下命令: pause是暂停,按任意键继续。
RD /Q /S %systemdrive%\\Soft && exit >NUL中: &&将两个命令合并成一行,能解决批处理删除自身导致不能运行下一样命令的问题。(“exit”还能用“taskkill /f /im cmd.exe”代替,更彻底,直接结束cmd进程,关闭所有cmd窗口。)
继续在$OEM$\\$1目录下建立文件夹 可以cmd中输入命令: MD \Menu\\Programs\\Startup\
然后我们再这个目录下新建一个快捷方式 对象位置为:%systemdrive%\\soft\\soft.cmd 命名为soft.lnk 如图:
(注意,此步可能无法成功,解决方法是在实机内系统盘指定位置创建soft.cmd)
如此,就达到了我们在进入桌面后调用软件的自动安装。
特别的,由于这个批处理不是管理员身份运行的,与产生一些文件的残留,我们可以在 D:\\$OEM$\\$1\\Users\\Default\\Desktop下放一个批处理“删除残留.cmd\,软件安装完成后,右