找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2425|回复: 0

Windows无法连接到ULayer服务解决办法

[复制链接]

238

主题

329

帖子

2119

积分

超级版主

Rank: 8Rank: 8

积分
2119
QQ
发表于 2021-2-20 22:26:24 | 显示全部楼层 |阅读模式
前文:
我在一个Win10 20H2的系统上安装了Citirx Virtual Desktop 1912版本的VDA(或者7.15 CU5版本上),而且勾选了1912的新功能“UPL”(“个性化用户层”)。结果导致开机之后会黑屏四分钟左右才能进入,从官网一查,这是因为20H2与UPL不兼容引起的,官方暂时无解。无奈只能把VDA给卸载掉了(UPL用的是App Layering的技术但依旧是VDA的一部分。)而然之后就没有卡四分钟的事情,但发现又出现了一个新的bug。这个vda如果用普通的没有管理员的帐号登录时,会秒注销。
解决方法:
通过修改注册表的方式解决。
解决过程:
这个问题可以用管理员帐号登录系统的时候用“事件查看器”来看一下问题,可以看到有一个报错是关于AppLayering的。ulayer服务是因为一个叫做LayerInfo.exe的文件不能启动。这个文件的目录为“C:\Promgram Files\Unidesk\Layering Service\LayerInfo.exe”。那么当然我的第一反应就是这事和AppLayering(UPL)有关,因为Unidesk是和AppLayering有关的。
那么我到这个目录下找这个exe的时候,我发现这个exe是不存在的,那当然是不能启动。
于是我想了一招,自己用一个exe改名为LayerInfo.exe放到这个文件夹中去,看看能不能登录,当时用的是cmd.exe,结果还行,用非管理员帐号能登录了。不过cmd也被执行了一次。那么可以认定不能登录是因为LayerInfo.exe这个文件引起的之后,只要放一个能运行的exe就行了。我之后准备了两个exe进行测试,一个是我自己做的一个exe,运行后会立即关闭的。另一个是从正常安装UPL的VDA之中提取的LayerInfo.exe的副本(运行之后也是***面,立即退出。)那么这两个都能解决立即注销的问题,于是我选择保留后者。
在我以为问题被解决的时候又发生了一个问题,这些vda之后被发布成虚拟桌面了,用非管理员帐号登录之后出现了以下文本:
”Windows无法连接到ULayer服务。请与您的管理员联系。“
下面有一个”确定“按钮,一按就注销了。
我认为这是因为装了含UPL的VDA被卸载之后,UPL的残余配置起引的。于是进行重新安装VDA。并得到了以下结论:
1.如果在VDA进行安装时不勾选”个性化用户配置层“(UPL),那么UPL组件不会被安装。不会在”服务“中出现Citrix Layering Service。也不会在Promgram Files中出现Unidesk的文件夹。
2.如果已安装UPL在卸载后会留下残余的AppLayering的组件,会影响非管理员用户的登录。而且这个时候关于Ulayer的“服务”选项已经被删除,已经不能在services.msc里关闭这个服务了。
那么我罗列了几个关于UPL的关键词,看看注册表中有没有信息。
(Unidesk,LayerInfo.exe,Ulayer)
于是我找到了相关的选项。
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon中有一个叫作Userinit的项。它的值为两个文件的路径,其中一个在system32中,还有一个为LayerInfo.exe的路径,中间用”,“融开。可以断定这个为造成电脑丢失LayerInfo.exe不能登录的原因。只删除逗号后面的部分。
当然这样还是会出现Ulayer服务的报错,要关闭Ulayer服务,要删这个路径下的注册表:

如果直接删是没有用的,因为权限不够,需要将上一级的目录Components的(右键-权限-高级)的所有者System改成自己的帐号,然后就能删除这个ULayer的文件夹了,整个都要删除。再将Components的拥有者改回System。
然后问题就解决了。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表