|  | 
 
| 1、win11原生外壳,体积过大,比精简版的正常系统大多了1.7G,只能当个玩具,验证PE可以用原生外壳。 2、主要问题:除了任务栏、开始菜单、搜索、多标签资源管理器、控制面板等基本组件,其他系统自带组件无法使用,也无法安装uwp应用。
 3、原因是0x80073cf6,0xd000001,大意是注册信息不能写入srd文件中。
 4、目前发现22621.2066之前版本不稳定,有时外壳不能用。2066、2070的AppX服务比较好,即使不初始化也能用多标签资源管理器。
 5、关键点:
 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v  PathName /t REG_SZ /d "%Windir%" /f
 reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion" /v  PathName /t REG_SZ /d "X:\Windows" /f
 需要初始化com然后调用AppxSysPrep.dll,AppxSysprepSpecializeOnline,或者使用把C:\替换成X:\的srd文件(2066之后)
 
 6、文件、文件夹、服务注册表管够,多多益善。为了用原生外壳,wim文件需要再大500m。
 7、用wimbuilder本身会删除Appx需要的文件和注册表,自己制作的时候不要精简、也不要删文件。
 8、调用AppxSysPrep的文件lnc,启动时SYSTEM下调用,新建其他管理员用户登录,Administrator在PE下无法使用高版本MSEdge,原因未知。
 9、两个文件附件无法上传,自己编译制作吧,2066之后可只用srd文件放入X:\ProgramData\Microsoft\Windows\AppRepository\
 lnc.cpp
 #include <iostream>
 #include "windows.h"
 #include "tchar.h"
 
 int main()
 {
 typedef void (WINAPI* APPXPREP)(void);
 APPXPREP AppXprep;
 //std::cout << "Hello World!\n";
 HRESULT hrIni = CoInitializeEx(NULL, COINIT_MULTITHREADED);
 HMODULE hm = LoadLibrary(_T("AppxSysPrep.dll"));
 if (NULL != hm)
 {
 AppXprep = (APPXPREP)GetProcAddress(hm, "AppxSysprepSpecializeOnline");
 if (NULL != AppXprep)
 {
 AppXprep();
 }
 FreeLibrary(hm);
 }
 
 if (hrIni == S_OK || hrIni == S_FALSE)
 {
 CoUninitialize();
 }
 std::cout << "HRESULT = "<< hrIni;
 
 }
 
 
 | 
 
2.png
(139.91 KB, 下载次数: 510)
 
 
m.png
(163.82 KB, 下载次数: 494)
 
 评分
查看全部评分
 |