|
本帖最后由 chiannet 于 2020-5-27 10:08 编辑
《Windows_SETUP_Program.ini》
// 本文仅限Chiannet修改的Windows OS安装时自动调用“映像外自定义的安装任务”,目前仅支持2020年6月之后的Windows 10(RS5:LTSC-Server2019、20H1 )和Windows 7。
// 其它系统可采用“PECMD LOAD D:\ISOS\Windows_SETUP_Program.ini” 这种方式执行。
// 建议在PE下释放镜像到本地硬盘完毕,就手动复制本文及其配套的0SOFTWARE0目录到本地硬盘任意可见分区根目录,例如E:\Windows_SETUP_Program.ini E:\0SOFTWARE0\,然后拔掉U盘。
// 以上操作的意义在于:\
// 1、防止重启后,Windows安装程序给U盘分区分配的盘符“插队”到本地硬盘之前。
// 2、如果本文位于任意分区的根目录(例如K:\Windows_SETUP_Program.ini),只要运行本文,就会自我删除,一并删除K:\0SOFTWARE0\这个目录。如果本文位于其它目录例如U:\ISOS\Windows_SETUP_Program.ini,则不会自我删除。
//**************************************主体开始**************************************
FDRV WD=%SYSTEMROOT%
FIND $%WD%=X:,CALL ENDS
// 遇到%SYSTEMROOT%=X:的PE系统,闪。
EXEC*N VER=!CMD.EXE /C VER
LPOS &iV=10.0.,1,%VER%
IFEX #%&iV%>0,ENVI WIN=100!
{
LPOS &iV=6.3.,1,%VER%
IFEX #%&iV%>0,ENVI WIN=63!
{
LPOS &iV=6.2.,1,%VER%
IFEX #%&iV%>0,ENVI WIN=62!
{
LPOS &iV=6.1.,1,%VER%
IFEX #%&iV%>0,ENVI WIN=61!
{
LPOS &iV=6.0.,1,%VER%
IFEX #%&iV%>0,ENVI WIN=60!
{
LPOS &iV=5.2.,1,%VER%
IFEX #%&iV%>0,ENVI WIN=52!
{
LPOS &iV=5.1.,1,%VER%
IFEX #%&iV%>0,ENVI WIN=51!CALL ENDS
// 不隶属于注解1-注解7所枚举的OS不予支持!
}
}
}
}
}
}
FIND $%&BX64%=0,TEAM ENVI BIT=32|ENVI BIT2=86!TEAM ENVI BIT=64|ENVI BIT2=64
FIND EXPLORER.EXE,ENVI AB=AFTER!ENVI AB=BEFOR
FORX * %AB%_OSALL_COM %BF%_OSALL_%BIT% %AB%_OS%WIN%_%BIT%,&RUN,
{
FIND $%AB%=AFTER,TIPS 正在执行“%&RUN%”指派的任务!,15000,1,#1
CALL %&RUN%
}
TEAM ENVI WIN|ENVI VER|ENVI WD|ENVI &iV
CALL ENDS
//**************************************主体结束**************************************
// 注解1:%Win%=100 对应Windows 10/2016/2019。
// 注解2:%Win%=63 对应Windows 8.1/2012R2。
// 注解3:%Win%=62 对应Windows 8/2012。
// 注解4:%Win%=61 对应Windows 7/2008R2。
// 注解5:%Win%=60 对应Windows Vista/2008。
// 注解6:%Win%=52 对应Windows 2003。
// 注解7:%Win%=51 对应Windows XP。
// 注解8:%AB%=BEFOR 登陆桌面之前;%AB%=AFTER 登陆桌面之后。
// 注解9:以下举三个例子说明:
// 示例1:当 %AB%_OS%WIN%_%BIT% = AFTER_OS61_64 时, 意思是:“在64位Windows 7环境、登陆桌面之后”。
// 示例2:当 %AB%_OSALL_64 = AFTER_OSALL_64 时, 意思是:“在64位Windows环境、登陆桌面之后”。
// 示例3:当 %AB%_OSALL_COM = BEFOR_OSALL_COM 时, 意思是:“不论32位还是64位,在Windows XP以上Windows环境、登陆桌面之前”。
// 特别注意**** 登陆桌面之“前”安排的任务,
// 1、不要布置那些事后强制计算机立即重启的任务,否则会导致后续安装任务无机会执行!
// 2、尽量不要安排那些有交互行为的任务,这阶段宜静默或完全静默方式执行的任务。
// 特别注意**** 登陆桌面之“后”如果存在事后强制计算机立即重新启动的任务,会导致后续任务(例如打扫安装垃圾、其它安装任务等)无机会执行。
// 具体的OS小节没有明写:XP(51)、2003(52)、Vista(60)、8(62) 8.1(63),可仿照AFTER_OS61_64、BEFOR_OS61_32这些段自行添加
_SUB ENDS
LPOS &iV=:\Windows_SETUP_Program.ini,1,%CURFILE%
IFEX #%&iV%>0,TEAM PATH #%CURDIR%\0SOFTWARE0|FILE %CURFILE%
EXIT FILE
_END
// ------%AB%=AFTER--------------
_SUB AFTER_OSALL_COM
_END
_SUB AFTER_OSALL_64
_END
_SUB AFTER_OSALL_32
_END
_SUB AFTER_OS61_64
FORX 0SOFTWARE0\MicrosoftEdgeEnterpriseX%bit2%.msi,T,1,
{
TIPS 正在安装“微软新Edge浏览器”,离线安装Microsoft Chromium Edge,\n无需Internet访问支持即可完成!,15000,1,#1
exec =msiexec /i %T% /qb REBOOT=SUPPRESS
}
_END
_SUB AFTER_OS61_32
FORX 0SOFTWARE0\MicrosoftEdgeEnterpriseX%bit2%.msi,T,1,
{
TIPS 正在安装“微软新Edge浏览器”,离线安装Microsoft Chromium Edge,\n无需Internet访问支持即可完成!,15000,1,#1
exec =msiexec /i %T% /qb REBOOT=SUPPRESS
}
_END
_SUB AFTER_OS100_64
_END
_SUB AFTER_OS100_32
_END
// ------%AB%=BEFOR--------------
_SUB BEFOR_OSALL_COM
FORX 0SOFTWARE0\7z2000-X%bit2%.exe,T,1,
{
// TIPS 正在安装“7-ZIP”,7-Zip 是一款拥有极高压缩比的开源压缩软件。,\n7-Zip 是一款 开源 软件。!,15000,1,#1
exec =%T% /S
}
_END
_SUB BEFOR_OSALL_64
_END
_SUB BEFOR_OSALL_32
_END
_SUB BEFOR_OS61_64
_END
_SUB BEFOR_OS61_32
_END
_SUB BEFOR_OS100_64
_END
_SUB BEFOR_OS100_32
_END
|
|