经常在使用win10中,会莫名的卡顿大概几秒钟,造成程序未响应或白屏,据观察,大概从1511版本左右开始引起的,这个问题困扰我很久,之前一直以为是电脑硬盘的性能问题,但是在更换了SSD之后还是会有发生;作为一个IT从业者,尝试从其中找到原因或者解决办法,最终这个问题再也没有发生过

错误显示

oAr.png

在这个错误中有几个点是可能不一样,但大致的解决思路和操作都是相同的,但具体什么原因引起的,不得而知

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\LOCAL SERVICE SID (S-1-5-19)授予针对 CLSID 为 
{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
、APPID 为 
{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
 的 COM 服务器应用程序的 本地 激活 权限。此安全权限可以使用组件服务管理工具进行修改。
  1. LOCAL SERVICE可能是当前的用户(system、network service等),也可能是system用户,或者其他用户;是哪个账户没有权限,就添加哪个账户和自己的账户
  2. CLSID和APPID可能是其他别的

除了上面2个可能会不一样之外,其他10016的错误基本上都可以用这个方法解决

解决步骤

先改CLSID

按“win键”就是左下角那个菜单,直接搜索“RegEdit”

打开注册表,win10的话,直接粘贴 路径
计算机\HKEY_CLASSES_ROOT\CLSID\{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
由于我已经添加了local service服务,所以在截图中会包含local service的显示,但是只要按照步骤操作即可

所有者的权限默认是“TrustedInstaller”,得把它设成自己,才能修改这个设置,一般在Windows里面所说的夺权就是指这里

U5e.jpg

在“3”那里填写自己当前的用户名,如果是使用微软在线账户登录的,点击“4”,在点击查找,找到自己的邮件账户

Kft.png

tgM.png

在这里填写local service和自己的账户,中间用英文分号隔开

cCm.png

local service和自己的账户都勾选“完全控制”
PYX.png

再改APPID

计算机\HKEY_CLASSES_ROOT\APPID\{4839DDB7-58C2-48F5-8283-E1D1807D0D7D}
修改步骤同上

到这才完成了一半,得先有权限修改,才能继续后面的真正修改

修改“组件服务”

按win键,直接搜索“组件服务”
XjW.png

找到“ShellServiceHost”,右键属性;这里面会显示刚刚的“APPID”,然后点击“安全”,在“启动和激活权限”添加local service和”自己的账户”的权限为Windows报错的要求“本地激活”权限

Frb.png

uFo.png
再点击“访问权限”,添加local service和“自己的账户”为“本地访问”权限;
再往下点击“配置权限”,也添加local service和“自己的账户”为“读取”权限

至此,如果操作无误的话,就完成了。

后记

10016的错误ID可能在1511-1809之间的版本经常出现,由于我还没有更新到1903,所以并不知道以后的情况;有时候提示是当前账户没有对一些CLSID和APPID有本地激活的权限,但操作的步骤都是一样的;

另外,一定要注意APPID的“RunAs”和“默认”的数据类型,修改组件服务的项目就是根据这个选定的;不同的APPID,对应不同的数据,在组件服务里面的名称是这个“数据类型”的权限修改;区别的办法就是打开“属性”后,里面显示的就是和刚刚查找的APPID一致,否则就不对,也没有权限;有时候“默认”的“数据”显示“(数据未设置)”,这个 时候就要查找“RunAs”里面的名称;有时候在组件服务里面会找到两个同名的,那就要看属性里面的APPID来区别正确的了。

Vqn.png

类似的错误

修改的方法同上
485.png
hAB.png

发表评论

电子邮件地址不会被公开。 必填项已用*标注

14 + 20 =