无忧启动论坛

标题: 关于WinSxs精简、edgeWebview绿化、ProductionPolicy修改及AI [打印本页]

作者: yamingw    时间: 4 小时前
标题: 关于WinSxs精简、edgeWebview绿化、ProductionPolicy修改及AI
本帖最后由 yamingw 于 2025-12-30 16:25 编辑

1、WinSxs精简
使用过别人的精简系统和精简软件,达不到日常使用要求。纯手工又太累,做成脚本自动化。
脚本是Wimbuilder2的,WinPE里用不上的脚本,我是用Wimbuilder2定制pe,然后安装到硬盘作日常系统用。
WinSxs组件分为基本、SMB、MSMQ、IIS、NET3.5、UWF,基本满足日常工作需要
NET3.5有个问题,如果原版系统已经集成NET3.5,禁用删除后就无法重装。只带有NET4的可网络下载安装。
原版系统打过补丁会在WinSxs文件夹留下很多旧文件,S3.bat是精简旧文件的,原版来自于一个DOS批处理论坛,但有问题,无法正确识别全部旧文件,这是修改版。会删除GDI plus 1.0版本(留下1.1的),影响未知。

2、MsEdge和WebView runtime 绿化
想用Edge浏览器,又不想占用太大空间和自动升级,就自己折腾绿色版。
有些软件,比如微软电脑管家、MDX Notes、Seelen UI 等应用程序使用 WebView2 运行时
高版本Windows中有四份文件,分别位于 :
\Program Files (x86)\Microsoft\Edge\Application;EdgeCore\;EdgeWebView\Application\;
\Windows\System32\Microsoft-Edge-WebView\
主要文件完全相同。
运行脚本之前先改设置。
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
运行脚本下载Edge。从远景论坛抄来的,修改了一下,避免原脚本下载展开后删除文件过多,会导致某些软件不正常。
MsEdgeDownload.ps1
$uri = "https://edgeupdates.microsoft.com/api/products"
$res = Invoke-RestMethod -Method Get -Uri $uri
$ver = (($res |? Product -eq "stable").Releases |? {$_.Architecture -eq "x64" -and $_.Platform -eq "windows"}).ProductVersion
$uri = "https://msedge.api.cdp.microsoft.com/api/v1.1/internal/contents/Browser/namespaces/Default/names/"
$uri = $uri + "msedge-stable-win-x64/versions/$ver/files?action=GenerateDownloadInfo&foregroundPriority=true"
$res = Invoke-RestMethod -Method Post -Uri $uri
Invoke-RestMethod -Uri ($res |? FileId -eq "MicrosoftEdge_X64_$ver.exe").Url -OutFile "msedge.exe"
.\7z x msedge.exe -y
.\7z x msedge.7z  -y
移到一个文件夹,比如D:\MsEdge\.bin
启动Edge,在Edge中把自身设为系统默认浏览器,
然后运行D:\MsEdge批处理注册WebView runtime。批处理来自于绿化版ar.WebView,好像也是远景论坛来的
install.bat
@ECHO OFF
SET "ROOT=%~dp0"
SET "DIR_BIN=%ROOT%.bin"
rem SET "DIR_DAT=%ROOT%.data"
rem MD "%DIR_DAT%" >NUL 2>NUL
::expand WebView2RuntimeInstaller.cab -F:* "%DIR_BIN%"
::setx /M WEBVIEW2_BROWSER_EXECUTABLE_FOLDER "%DIR_BIN%"
SETX WEBVIEW2_BROWSER_EXECUTABLE_FOLDER "%DIR_BIN%"
ICACLS "%DIR_BIN%" /grant Users:(OI)(CI)(RX)
rem All Restricted Application Packages S-1-15-2-2 微软建议,可不需要
icacls "%DIR_BIN%" /grant *S-1-15-2-2:(OI)(CI)(RX)
rem All Application Packages (SDDL abbreviation: “AC”) S-1-15-2-1 微软建议,可不需要
icacls "%DIR_BIN%" /grant *S-1-15-2-1:(OI)(CI)(RX)
rem *S-1-15-3-1024-* app capability HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SecurityManager\CapabilityClasses\
rem 不可公用 SETX WEBVIEW2_USER_DATA_FOLDER "%DIR_DAT%"

3、Production Policy 修改
Production Policy 修改用处不大,正常系统会自动管理。
ProductPolicyEditor不但优秀还开源,但我需要命令行的便于在脚本中使用。
ppm的核心源码来自于github的ssde中的enable,原版没有Add和remove功能,经补充功能后可用。
ppm的注册表要是手动挂载到HKLM\sys,ppm命令行参数就是:
set UMDF-WINPE-ENABLED 1 sys,即
设定 策略名 值 注册表挂载点。挂载点缺省处理键值是和Wimbuilder一致HKLM\tmp_SYSTEM,可不输入,策略名不存在会创建。
4、minint键值删除问题
pe启动后如果删除minint注册表键值,会导致wpeinit、wpeutil等工具不可用。可修改dll文件解决问题。
BinaryFilePatcher.exe wpeutil.dll "48 8B CF 8B D8 48 FF 15" "48 8B CF 90 90 48 FF 15" false
参数 false 表示只替换第一个。
4、护眼夜灯功能
类似于手机的关闭蓝光护眼功能,Windows系统自带功能。这个是命令行工具,源码来自于github的TinyScreen,转换来的。

5、AI(人工智能)
和这些有什么关系?
S3.bat精简批处理是DeepSeek辅助修改的,Production Policy 修改命令行工具是DeepSeek辅助生成的,部分中间过程代码还留在源码里。
夜灯功能也是从C#源码转换过来的。

6、附件
BinaryFilePatcher.7z (3.59 KB, 下载次数: 12)

NightLight.7z (13.26 KB, 下载次数: 10)

ssde-ppm.7z (28.58 KB, 下载次数: 12) ppm.7z (28.66 KB, 下载次数: 6)


za-Slim.7z (5.87 KB, 下载次数: 13)



作者: hmaaaa    时间: 2 小时前
謝謝大大分享~感恩 ^^ 有您真好~!辛苦了!
作者: smile_z    时间: 1 小时前
感谢分享
作者: 轻松是心    时间: 1 小时前
感谢分享




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3