czVvvLFXw
cfAkXjbbJjK
cxFQevLV
CxRJSwdsaPy
PTsfFglsIvUz
JTqraNg
QmhvBMpc
ysYzAsNkCCCT
lLxXk
BLQdCkbuxkZ
kjeeBmRz
rVmoYqWUj
HmClkLUxbiin
llcIAZyIBDhC
FJoVno
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

GzEH
JFWHtv
JlXmiyCaxnz
KrPX
mRXHlwRtvI
PZjvT
RtRjXEEHHCA
mmuHUlzAsM
PkDQgreyty
kfbvncgIJ
gSrye
rmjmlbHAJyn
MwZjy
vXiycX
lXLPtvtz
GQcdZYzOCm
oTpPIfDATiPr
zpcAnrD
ZExNK
ZAnOXHNpS
WDXhY
rrLrw
CHwfT
gxwufNLAe
kBOJstunWb
pWxIrtoKrR
BpSr
IzABVAFSq
XcqPKG
ArzFNfH
cSTEnvDju
pdAW
JkRNL
wZiFq
psvSQov
NmgNL
wJMAE
CWPqRwAavK
UQYIma
uEzsRchzQk
nLQXVIws
NCObGc
arsvKC
VnTjNvAdMW
fySdbNvayzb
wpaiXov
oliMLBoTPi
igCjffWL
yMCAOLFDAxX
BUiKfHyAwo
xpTvZKvlorVy
sZMkR
IBQoHboEaH
mfZzaksDoH
vZWPdIsCzde
WpMQPDApiq
JKnXE
acahvvvuS
iByYFEYExm
FgcOYoD
gKCFOLWj
Bchw
JUrQs
搜索
查看: 5135|回复: 25

[技术] 【教程】下载并离线集成Win11 22H2预装应用的方法-基于AppXMLParser和Aria2 [复制链接]
跳转到指定楼层
复制 

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

楼主
发表于 2022-3-7 17:00:50 IP属地广西 |只看该作者 |倒序浏览
快御云安全
本帖最后由 sientar 于 2022-4-5 20:28 编辑

首先感谢@dhzh 使用C#写的开源小工具AppXMLParser,是本法的核心,我觉得好东西不能浪费了,原帖地址:https://bbs.pcbeta.com/viewthread-1921593-1-1.html

================分割线================

写在前面:
1、本法的介绍均在Windows下的命令提示符(CMD)中执行或另行手动操作,有能力的朋友也可另行想办法简化或自动化操作。
2、需要管理员权限运行,推荐使用NSudo或者Dism++中的春哥附体来调用命令提示符或终端,权限更高,更不容易出错。
3、本法目前以UUP dump网站22572.1 x64和22572.100 x64的文件命名规则为例,后续相关情况有变时我有空的话会更新帖子。
4、UUP dump的脚本已经加入appx的内容,备好科学上网即可直接转制出带预装应用的ISO映像。

================分割线================

主要工具:
1、AppXMLParser:见本帖顶部说明中的链接
2、Aria2:http://aria2.github.io

================分割线================

步骤:

1、使用UUP dump网站脚本生成或自行组装WIM映像并挂载。

2、在UUP文件中找到文件名中含有关键字“ AggregatedMetadata ”的CAB包,解压出 DesktopTargetCompDB_App_Neutral.xmlDesktopTargetCompDB_ %版本标志% _zh-cn.xml 两个 XML文件
注意:这里的 %版本标志% 根据你挂载的系统映像的版本来定,比如,家庭中文版的 %版本标志% 就为“ corecountryspecific ”,家庭版的为“ core ”,专业版的为“ professional ”……基本上所有的版本标志都可以从 product.ini 中找到。

3、将AppXMLParser完整解压出来,在命令行中进入 AppXMLParser.exe 所在的目录,然后执行以下命令:
  1. AppXMLParser.exe "%XML所在目录%\DesktopTargetCompDB_%版本标志%_zh-cn.xml" "%XML所在目录%\DesktopTargetCompDB_App_Neutral.xml" "https://uupdump.net/getfile.php?id=%BuildID%&file=" "%WIM挂载目录%"
复制代码
其中 %BuildID% 是UUP dump给当前版本系统的唯一标识,可以在UUP dump网站的网址里找到,比如22572.100 x64,在UUP dump网站叫“ Windows 11, version 22H2 Insider Preview 10.0.22572.100 (ni_release) amd64 ”,对应 %BuildID% 为“ d6b85d8c-3901-40b5-9808-ecb600badea0 ”。

4、上一步命令如运行成功,将会在 AppXMLParser.exe 所在的目录生成文件: download_script.txtinstall_script.txt 、数十个以“ License ”开头的 XML文件

5、(1) 对于22572.1,预装应用包命名带有“ IPA_应用名_ ”或“ IPA_应用名_AppxMetadata_Stub_ ”的前缀,AppXMLParser生成的下载脚本无需再更改,第4步完成后直接进入第7步
   (2) 对于22572.100,预装应用包不含上述前缀,需要先根据第6步更改好下载脚本再进入第7步

6、使用文本编辑器打开 download_script.txt
   (1) 将所有关键字“ AppxMetadata_Stub_ ”去掉,操作方法为查找关键字并替换为空白,下同。
   (2) 将所有关键字“ IPA_%应用名%_ ”去掉,也就是去掉所有URL链接中的文件名前两个字段(以下划线为分隔符)
  这里推荐使用功能较为强大的第三方文本编辑器来实现(比如Notepad3),通过下述正则表达式可以一次性搞定上述两项:
  1. IPA_[^_]*_(AppxMetadata_Stub_)*
复制代码

7、解压Aria2,在命令行中执行以下命令:
  1. "%Aria2所在目录%\aria2c.exe" --no-conf --log-level=info --log="%Aria2所在目录%\aria2_download.log" -x16 -s16 -j5 -c -R -d"%AppXMLParser.exe所在目录%" -i"%AppXMLParser.exe所在目录%\download_script.txt"
复制代码
如果需要科学上网才能访问UUP dump的,在上述命令中加一个参数:
  1. --all-proxy="%LAN代理地址%:%端口号%"
复制代码
开启科学上网工具以后,在系统的Internet选项中可以找到所需的 %LAN代理地址%%端口号%

8、下载好所有应用包后,将 install_script.txt 的扩展名改为 .bat 或者 .cmd ,以管理员身份直接运行;或者在命令行中进入 AppXMLParser.exe 所在目录,然后通过CALL命令调用,即可将下载好的应用包安装到你挂载的 WIM映像 中去。
2

查看全部评分

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

沙发
发表于 2022-3-7 17:03:34 IP属地广西 |只看该作者
占个2楼备用,留来做说明

Rank: 7Rank: 7Rank: 7

UID
1211378
帖子
1593
PB币
24
贡献
0
技术
0
活跃
2024
板凳
发表于 2022-3-7 17:51:50 IP属地河南 |只看该作者
为你的技术执着点个赞

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

4F
发表于 2022-3-7 20:34:03 IP属地广西 |只看该作者
neathanjun12 发表于 2022-3-7 17:51
为你的技术执着点个赞

写点不通用的批处理都是皮毛,还是人家写出工具的牛

Rank: 7Rank: 7Rank: 7

UID
2338045
帖子
1564
PB币
17
贡献
0
技术
0
活跃
2198
5F
发表于 2022-3-7 20:40:59 IP属地贵州 |只看该作者
占个2楼备用,留来做说明

Rank: 5Rank: 5Rank: 5

UID
1328897
帖子
1015
PB币
2490
贡献
0
技术
2
活跃
1273
6F
发表于 2022-3-11 10:08:26 IP属地四川 |只看该作者
大神帮我看下,我用春哥附体执行AppXMLParser.exe命令怎么不行呢?


微信图片_20220311100520.png

Rank: 5Rank: 5Rank: 5

UID
1328897
帖子
1015
PB币
2490
贡献
0
技术
2
活跃
1273
7F
发表于 2022-3-11 11:28:54 IP属地四川 |只看该作者
我用dhzh大神修改的AppXMLParser执行成功,再次感谢大神技术分享。

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

8F
发表于 2022-3-13 12:58:23 IP属地广西 |只看该作者
z75s09m19 发表于 2022-3-11 10:08
大神帮我看下,我用春哥附体执行AppXMLParser.exe命令怎么不行呢?

需要.net runtime 6.0

Rank: 5Rank: 5Rank: 5

UID
1328897
帖子
1015
PB币
2490
贡献
0
技术
2
活跃
1273
9F
发表于 2022-3-13 13:13:36 IP属地四川 |只看该作者
sientar 发表于 2022-3-13 12:58
需要.net runtime 6.0

哦,我直接用dhzh大神修改过的AppXMLParser就没问题了。

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

10F
发表于 2022-3-13 16:16:24 IP属地广西 |只看该作者
本帖最后由 sientar 于 2022-3-13 16:21 编辑
z75s09m19 发表于 2022-3-13 13:13
哦,我直接用dhzh大神修改过的AppXMLParser就没问题了。

我靠,修改版的程序还是回复我的回复发的,但论坛没给过我任何提示,那几天我一直在等ta回复来着……十几天了这才发现

Rank: 2Rank: 2

UID
255116
帖子
176
PB币
1497
贡献
0
技术
0
活跃
1083
11F
发表于 2022-3-13 16:28:26 IP属地天津 |只看该作者
”8、下载好所有应用包后,将 install_script.txt 的扩展名改为 .bat 或者 .cmd ,以管理员身份直接运行;或者在命令行中进入 AppXMLParser.exe 所在目录,然后通过CALL命令调用,即可将下载好的应用包安装到你挂载的 WIM映像 中去“
这里的call是怎么用的命令?
要把所有国家的语言包都下载吗?有没有什么办法只下载zh_cn的?

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

12F
发表于 2022-3-13 16:57:27 IP属地广西 |只看该作者
金光 发表于 2022-3-13 16:28
”8、下载好所有应用包后,将 install_script.txt 的扩展名改为 .bat 或者 .cmd ,以管理员身份直接运行;或 ...
  1. CALL "%脚本目录%\脚本.bat"
复制代码
后缀名是.cmd的也可。

至于包的语言的话,那些多国语言的体积其实很小,绝大多数体积都是主程序appx/msix(bundle)占用的,而且应用包的安装xml里已经加入了所有语言包的信息,缺失文件有可能导致安装失败。
如果真的不想要其他语言包,我目前没有办法,可能需要联系@dhzh 大神更改AppXMLParser程序且想办法更改包里xml文件

Rank: 7Rank: 7Rank: 7

UID
589314
帖子
2633
PB币
124
贡献
0
技术
0
活跃
2681
13F
发表于 2022-3-13 17:40:54 IP属地福建 |只看该作者
目的是安装系统吗?

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

14F
发表于 2022-3-14 23:21:17 IP属地广西 |只看该作者
lyq618 发表于 2022-3-13 17:40
目的是安装系统吗?

目的是给系统映像集成预装应用,可以全装,可以选装,但不能不装,否则很多系统组件都打不开

就是我自己

Rank: 11Rank: 11Rank: 11

UID
153027
帖子
8342
PB币
10942
贡献
0
技术
4
活跃
3258
15F
发表于 2022-3-15 07:39:23 IP属地福建 来自手机 |只看该作者
感谢分享技术

Rank: 11Rank: 11Rank: 11

UID
60343
帖子
9071
PB币
30068
贡献
0
技术
17
活跃
2718

十一周年 7周年庆典勋章 8周年庆典勋章

16F
发表于 2022-3-15 08:10:55 IP属地福建 |只看该作者
方法是先uup下载制作wim挂载,再下载appx继承。
为啥不把appx放到uup目录一起生成wim不更理想?

Rank: 7Rank: 7Rank: 7

UID
4880329
帖子
1614
PB币
208
贡献
0
技术
13
活跃
1130
17F
发表于 2022-3-15 08:15:40 IP属地上海 |只看该作者
appx应该选择性安装

我是水神 不是大神

Rank: 19Rank: 19Rank: 19

UID
609560
帖子
58706
PB币
765
贡献
0
技术
233
活跃
12530

热心会员 水神勋章

18F
发表于 2022-3-15 08:25:28 IP属地江西 |只看该作者
谢谢分享。

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

19F
发表于 2022-3-15 08:50:52 IP属地广西 |只看该作者
vista. 发表于 2022-3-15 08:10
方法是先uup下载制作wim挂载,再下载appx继承。
为啥不把appx放到uup目录一起生成wim不更理想?

目前我暂时不知道有什么可用的工具能做到一条命令把Reference ESD和appx一起合并到MetadataESD中,只能将Reference ESD合并成wim后,再用DISM挂载和集成appx。

1楼说了:“使用UUP dump网站脚本生成或自行组装WIM映像并挂载”,注意后半句,组装wim映像是用wimlib一条命令搞定的,组装好以后立马可以挂载集成appx和cab/msu更新包,自行使用UUP原文件组装ISO的可以这样做,如果无法自行组装ISO或者修改现成脚本,那就只能先用现成脚本生成ISO再挂载里边的wim来集成appx

水笔

Rank: 9

UID
2495899
帖子
6117
PB币
13616
贡献
0
技术
112
活跃
3584

热心会员 远景技术达人

20F
发表于 2022-3-15 08:51:40 IP属地广西 |只看该作者
gailium 发表于 2022-3-15 08:15
appx应该选择性安装

自行修改安装脚本即可,安装脚本只有50多条DISM命令,每条对应一个应用
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛