时达小站

各种软件系统经验分享

利用unattend.xml实现和系统封装同样效果的新手教程


dx.jpg

运行库.jpg

属性.jpg

安装完成.jpg

这是最后安装完成的效果图,如果你也烦配置虚拟机,烦封装时的各种奇怪报错和失败,不妨试试小站的系统设置方法,不用安装系统,不用进审核模式,不存在封装报错查错的问题,心动的话,就继续往下看吧

安装版系统制作流程:

第一步,下载windows 10 LTSC 2019(同样支持win11的LTSC)

第二步,从下载的镜像中提取install.wim文件

第三步,将install.wim用dism++工具挂载至D:\1文件夹里

第四步,下载文章尾的一键盘部署包,并运行

第五步,用dism++保存镜像,并替换进原光盘镜像或者优盘中,结束

怎么样是不是非常简单?如果你想制作的系统用不到这些程序,有你自己的DIY内容,那么进阶内容还请耐心看完,下面进入DIY环节

第一部分为微软官方的自应答解释环节,也是最核心的部分,如果能完全搞明白其功能,后面的部署接管程序可以直接忽略掉。我将这部分同样分为两部分,着重讲第一部分

<settings pass="oobeSystem">

        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

            <InputLocale>0804:00000804</InputLocale>

            <SystemLocale>zh-CN</SystemLocale>

            <UILanguage>zh-CN</UILanguage>

            <UILanguageFallback>zh-CN</UILanguageFallback>

            <UserLocale>zh-CN</UserLocale>

        </component>

        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

            <TimeZone>China Standard Time</TimeZone>

            <AutoLogon>

                <Enabled>true</Enabled>

                <LogonCount>9999999</LogonCount>

                <Username>Administrator</Username>

                <Password>

                    <PlainText>false</PlainText>

                    <Value>UABhAHMAcwB3AG8AcgBkAA==</Value>

                </Password>

            </AutoLogon>

            <OEMInformation>

                <Logo>%windir%\Setup\oem.bmp</Logo>

                <Manufacturer>微软中国</Manufacturer>

                <SupportHours>每周一至六8:00-20:00</SupportHours>

                <SupportURL>https://www.microsoft.com/zh-cn</SupportURL>

            </OEMInformation>

            <OOBE>

                <HideEULAPage>true</HideEULAPage>

                <HideLocalAccountScreen>true</HideLocalAccountScreen>

                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>

                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>

                <NetworkLocation>Work</NetworkLocation>

                <ProtectYourPC>3</ProtectYourPC>

                <SkipMachineOOBE>true</SkipMachineOOBE>

                <SkipUserOOBE>true</SkipUserOOBE>

            </OOBE>

            <UserAccounts>

                <AdministratorPassword>

                    <PlainText>false</PlainText>

                    <Value>QQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgBQAGEAcwBzAHcAbwByAGQA</Value>

                </AdministratorPassword>

                <LocalAccounts>

                    <LocalAccount wcm:action="add">

                        <Group>Administrators</Group>

                        <Name>Administrator</Name>

                        <Password>

                            <PlainText>false</PlainText>

                            <Value>UABhAHMAcwB3AG8AcgBkAA==</Value>

                        </Password>

                    </LocalAccount>

                </LocalAccounts>

            </UserAccounts>

            <FirstLogonCommands>

                <SynchronousCommand wcm:action="add">

                    <Description>启动自动流程</Description>

                    <Order>1</Order>

                    <RequiresUserInput>true</RequiresUserInput>

                    <CommandLine>%windir%\Setup\luncher.Exe</CommandLine>

                </SynchronousCommand>

                <SynchronousCommand wcm:action="add">

                    <Order>2</Order>

                    <RequiresUserInput>true</RequiresUserInput>

                    <CommandLine>reg import %windir%\Setup\FilesU\move.reg</CommandLine>

                    <Description>添加注册表</Description>

                </SynchronousCommand>

                <SynchronousCommand wcm:action="add">

                    <CommandLine>%windir%\Setup\clean.bat</CommandLine>

                    <Description>清理无用文件</Description>

                    <Order>3</Order>

                </SynchronousCommand>

            </FirstLogonCommands>

        </component>

    </settings>

代码的运行阶段对应封装系统的进桌面环节oobeSystem,另外一个环节是specialize对应封装的部署环节,内容和oobeSystem大同小异,不多作解释了

这代码的灰色部分是用户环节的输入法,登陆帐户,语言的设置,中文部分可以按格式修改成自己的内容,不多作解释了

代码的构成就是套娃,大的里面套小的,注意看标的颜色,同色的为一段,所以最大的一段是<settings>内容</settings>懂了结构下面再解释功能就容易了

<FirstLogonCommands>........</FirstLogonCommands> 这段内就是要讲的核心内容了,定义了要执行的程序,什么时候执行想要添加内容,可以在</FirstLogonCommands> 前加入下面内容

<SynchronousCommand wcm:action="add">.....</SynchronousCommand>这命令的意思是等待上个命令执行完成后再执行我,与之对应的是同步执行,封装工具内也有相关参数

<Order>1</Order>这里的数字代表要执行的顺序,由小到大依次执行,也是由它来决定下面命令何时执行

<CommandLine>%windir%\Setup\luncher.Exe</CommandLine>从命令不难看出,它就是最终的执行命令了,何时执行由order的数字来决定

<Description>启动自动流程</Description>此项是非必选项,主要用来表明要执行的程序是什么功能,个人建议还是加上,方便理解

好了,代码的基本功能和构成就到这里,相信看明白了,也就能自己定义想要安装的程序了,下面的内容为非必选内容,如果感兴趣,可以继续往下看

流程接管程序 luncher.exe,是本人利用au3编写的自动执行程序,因能力有限,目前还存在些不影响功能的小bug,下面进入正题

第一个功能,接管部署流程,执行安装命令,程序会读取同目录下的config.ini文件,然后判断系统目前的状态,选择执行对应的执行命令,下面是配置文件的内容

        [Sysprep]

        DirectX9=C:\windows\Setup\Files\DirectX.exe| /s

        基础运行库=C:\windows\Setup\Files\runtime.exe| /silent

        开始菜单=C:\windows\Setup\Files\StartIsBack.exe| /ai /gm2

        个性化设置=C:\windows\Setup\Files\Documents.exe|

        安装驱动=C:\windows\Setup\Files\EDrv8_x64.exe| /a

        激活系统=C:\windows\Setup\Files\MAS.cmd| /Z-Windows

        [Programs]

        安装Appx应用=C:\windows\Setup\FilesU\InstCalc.cmd|

        edge浏览器=C:\windows\Setup\FilesU\edge10.exe|

        播放器=C:\windows\Setup\FilesU\PotPlayer.exe| /ai /gm2 /InstallPath="C:\Program Files"

        搜狗输入法=C:\windows\Setup\FilesU\sougou.exe| /S

        微信官方版=C:\windows\Setup\FilesU\WeChatWin.exe| /S

        看图王= C:\windows\Setup\FilesU\pic.exe| /ai /gm2 /InstallPath="C:\Program Files"

        [ERROR]

        未检测到注册表值=C:\Program Files\sdbox\tools\HEU_KMS_Activator.exe|

意思一目了然“=”号左边的为注释,程序读取后会在左侧功能区显示出来,右边的为要执行的程序,"|"右边的为执行参数,没有的话,留空,但不可以没有“|”,程序会判断系统当前的状态,如果处于部署阶段(specialize,会执行[Sysprep]字段下的参数,反之(oobeSystem)执行[Programs],[ERROR]是啥?俺也想去掉,可实力不允许,只能留它用来处理错误啦

第二个功能,GUI显示图片,一共分三个区域,主区域是一个图片的轮播,将jpg图片放在程序同目录的image文件夹下,程序会自动读取并滚动播放,图片大小1024*768,第二个区域是功能区左上角,在程序同目录下放一个自己的logo.png即可,第三个区域是功能区的左下角,同logo区一样,png图片建议透明大小400*800。一键盘包内包含了小站的素材,仅用于示例,自己替换即可。

最后,说明下一键部署包的内容,包内基本上包含了config.ini上所有的程序,由于驱动包过大,仅集成了驱动8的主程序,推广包和驱动包请自己依需求自行添加替换,激活程序只能在连网的情况下才会成功,如果电脑没有网络,请手动关掉,好让流程继续,后续进系统后再手动激活系统。

下载链接  百度网盘   提取码: cqjb