Windows Feature Experience Pack的讨论与研究
- #34
- 这两个没关系,你说uup FoD什么的还合理,undocked shell这就是个uwp啊..uup到现在也没有单独加任何的体验包,都是打在cab里面的
2.功能体验包又叫Undocked Shell Update,说白了就是更新UI用的方式(22000.1和22000.xxx的区别就在于CU里面带了体验包)
3.啥旧版功能包,我没懂
....what
- 已编辑
- #36
ThinkBou 估计后期WFEP会把旧版功能包(指需要在控Windows功能中才能关闭或启用的组件)整合进来
这些组件都是Win32,整合进来必定会造成兼容性问题
如果只是做个开关的话,WFEP是想变成新控制面板吗()
ThinkBou WFEP的想法可以溯源至当年WES
Embedded 可是有很多SKU的,不单单是Standard()
UUP就是UUP,统一更新平台,想法确实来自WES,在16年推出,WFEP就是WFEP(我在21390上面部署了22000的Windows Desktop Required Package,然后陆续打上其他三十来个cab,我就是Build 22000,这只是为更新Windows 提供了一种更灵活的方式。)
- 已编辑
- #37
第二铲
我觉得可以研究一下CShell与WFEP的关系。关键在于,Windows 10X到底用没用上CShell。
话说,10X的UUP更新文件貌似只有楼主手里有诶[tieba=huaji-reverse]
- 已编辑
- #38
ThinkBou 10X的GUI Shell实现是靠Modern UX Product App实现的,而11的新UI部分就是靠在体验包以及其他加载项里面堆料(包括Shell32.dll和其他我们熟知的的老朋友 这些老朋友的话并不是直接堆料,是以链接的形式注入Extension,Windows下的ShellExperiences、SystemResources、SEH[Shell Experience Host](UPD 2023/1/15:SEH已经名存实亡,Cobalt阶段还存在对它的引用,Nickle看起来是抛弃它了,文件大小没有什么变动,只是多了些引用到外面的链接)等等,还离不开UI.Xaml.CBS)
ThinkBou Windows 10X到底用没用上CShell。
用上了。CShell跟WCOS是绑定的,10X的话直接有一个CShell的包,与Modern UX App有着千丝万缕的联系,这个CShell的包装在普通Client上倒是不痛不痒,因为没有它的实现方式。
ThinkBou 话说,FactoryOS中不包含Modern UX Product App吗
是的,这东西本来就不是给Factory OS准备的,他的应用程序标题就叫Windows 10X。
- 已编辑
- #43
旧闻推送
- WFEP在传统Windows NT内核中刚开始应用时,Retail(通过商店推送,WindowsApp)的包名和后来不一样
有意思的是,后来在商店上架的Client的WFEP(Client)的PhoneProductId与18917的那个(UX.Client.ST)不同,而且在商店上架的10X的WFEP的PhoneProductId与这二者均不同
- 注册表中还有BuiltIn(通过UUP推送,SystemApp)的信息
- 这是Build 18917中BuiltIn所对应打包应用的AppxManifest,包名是MicrosoftWindows.UX.Inbox
值得注意的是,最开始不管是BuiltIn还是Retail均是作为WindowsApp出现的。 - 这是19041+的注册表,包名是MicrosoftWindows.Client.CBS(与之对比的是,10X的WFEP包名是MicrosoftWindows.Windows10X.CBS)
这个才是真的起作用的Windows Feature Experience Pack
(左侧是Windows 11 21H2的WFEP,右侧是Windows 10 21H2的WFEP,可以看到Win11的WFEP承担了更多功能)
- 这是Build 18917中BuiltIn所对应打包应用的AppxManifest,包名是MicrosoftWindows.UX.Inbox
有意思的是,10X中BuiltIn WFEP(Windows10X.CBS)与Client中BuiltIn WFEP(UX.Inbox/Client.CBS)的PhoneProductId相同,而且上面的那个Client.ST的PhoneProductId也与这二者相同,因此才能让10X的WFEP迁移到正常Client后还能正常运行。
何木槿 现在用CAB包装
何木槿 我觉得在Windows客户端版中用cab部署估计就是要承担更多任务(比如要承担部分Shell的内容),要求其必须作为SystemApp出现,并且由于涉及到未公开API需要通过Windows更新提供更完整的内容。
正如上面提到的,真正起作用的WFEP在Windows 10/11中是SystemApp,不是WindowsApp。所以很自然的,这玩意作为打包应用单独安装起作用是绝对不可能的。因此何木槿 何木槿 ,如果需要让WFEP完全生效,你需要把它部署为SystemApp。除此以外,你可能还需要一些API的支持……
- 已编辑
- #45
何木槿 不过CBS和ST是什么意思呢
如果你认为CBS是CameraBarcodeScannerPreview,那么Windows Feature Experience Pack可能不适合你。
何木槿 通过解包cab,然后安装里面的两个mun文件,就可以部署为SystemApp,因为这是通过更新服务部署的()
那么如果我想把10X的WFEP部署为10/11的SystemApp呢
何木槿 这些我都在18947以及之后的20H1 Builds里面发现过
所以是旧闻推送,省的你去火星接我了
何木槿 18947里面也已经出现了 Modern UX Product App的雏形,以及HtmlStart(
Build 18947是一个特殊的版本,出现这些东西其实很正常,毕竟那是rs_xbox分支。我认为这些东西要是在正常分支里出现了才不正常……
- 已编辑
- #47
何木槿 实际上,那个Modern UX 雏形的占位符里面有两个命名为TestThis和TestThat的无后缀文件(Canary实锤了),有少量pri、winmd文件(但文件大小都达到了20~200KB,pri文件似乎是Qt编译的XAML库、winmd暂时不明作用。
18947 的Windows下的ShellExperiences和ShellComponents文件夹下出现了Xaml Start的appx文件,直接调取的是appx文件(还需要一个dll),10X很多东西都是HTML+WinUI 2.4+与内核和资源文件交流的动态链接库实现的,11则多为WinUI 2.6堆料。
- #48