最近一位网友的win11 x64电脑上遇到这样的问题:
电脑上安装的PURPLE平台打不开,卸载重装了也不行。
根据网友提供的信息下载了对应的安装包,在虚拟机相同系统里安装能正常打开。怀疑是网络问题也建议网友开加速器访问,一样的故障。
跟我上篇专栏文章edge问题很像,出现一下进程就消失。但不同的是,事件查看器没有对应的错误日志,所以不是崩溃闪退。
出问题的进程是.net程序,所以检查了下ngen update命令,能正常执行。电脑安装了.net 3.5,资源管理器打开assembly文件夹也能正常显示程序集。
怀疑是精简版系统文件缺失,毕竟网友电脑上没有安全中心,于是下载win11 23h2镜像升级,结果报错“该电脑必须支持TPM2.0”。参考网上教程新建AllowUpgradesWithUnsupportedTPMOrCPU注册表,和用空白文件替换appraiserres.dll后,成功进入保留文件和应用升级安装界面,但是最后还是升级失败了。。。
通过查看setuperr.log日志发现缺失了一堆system32\migration文件夹的文件,网友电脑上的系统是精简版不存在这个文件夹,为了避免反复复制文件,我从跟网友电脑win11 22h2相同的系统镜像里提取了system32和syswow64目录的migration、migwiz到网友电脑上(migwiz是否必须存疑,懒得测试),再次升级安装成功升级!
但是系统升级到23h2了,PURPLE还是打不开。。。于是上Procmon分析,第一时间看Access Denied日志(复杂问题时先看拒绝访问事件)。
一下子找到原因,打开对应文件夹,参考正常系统的权限修改。
正常权限只有everyone和管理员组两个,删掉多余的,剩下的权限改成跟上图一致。再打开PURPLE,问题解决!
题外话,网友升级win11 23h2后还是没有安全中心,检查了下发现没有Microsoft.SecHealthUI应用文件夹。在win11里这个应用不再是系统应用,可以通过appx安装。从我虚拟机提取appx到网友电脑上安装,再升级下defender补丁,等一段时间安全中心就恢复正常了。