win10creatorsupdate1703

HOWTO: 解决 Windows 10 UWP Apps 无法运行

        UWP - Universal Windows  Platform(通用 Windows 平台),自 Windows 10 引入,进一步推动了 WIndows Runtime 模型的发展,一统 Windows 核心。作为核心版的一部分,UWP 现提供了一个可供在每个运行 Windows 10 设备上使用的通用应用平台。

OneWindowsPlatform

        简单理解,就是我们开发一个 UWP 应用即可运行在所有的 Windows 10 设备上,其优势显而易见!有关 UWP 详细的介绍可以移步 https://docs.microsoft.com/zh-cn/windows/uwp/get-started/universal-application-platform-guide 参考。

        而今天 gOxiA 要与大家分享的肯定是与 ITPro 密切相关的内容,正如本期之题目解决 Windows 10 UWP Apps 无法运行。具体的故障现象是点击 UWP Apps 都会没有响应,UWP Apps 不会按照预期那样启动运行。在有些环境下能看到点击 UWP Apps 图标后会显示正在安装一样的进度条,之后再无反应。具体的故障现象可参考下面的动画截图:

errordemo

        但是切换到 Administrator 账户下却能够运行这个 UWP Apps(PS:已经配置了GPO允许本地管理员运行 UWP Apps),唯独无法运行 Microsoft Edge,会出现闪退。检查日志发现来源 Apps,ID 5973 的错误事件,具体错误是“系统找不到指定文件”。难道是应用相关文件损坏?!

log

        使用 PowerShell 命令行对 Microsoft Edge 进行重装测试,结果发现“部署失败,原因是 HRESULT: 0x80073D0A,无法安装该程序包,因为 Windows 防火墙服务未运行。请启用 Windows 防火墙服务并重置。”错误很明确了因为防火墙服务未启动导致!但是,为什么其他 UWP Apps 却能够运行呢?而且使用其他账号又都无法运行呢?!

ps_reinstall_edge

        带着迷惑执行了 PowerShell 命令行对所有系统 UWP Apps 执行重装任务,命令行参考如下:

Get-AppXPackage -AllUsers |Where-Object {$_.InstallLocation -like "*SystemApps*"} | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}

        结果一致,同样提示因 Windows Firewall 服务未启动导致 UWP Apps 无法安装。检查 Windows Firewall 服务确实被禁用,重新启动后故障解除。

        其实这个过程还有另外一个版本,在发现故障的时候是在生产环境下,且之前交付的 Surface Pro 4 都是经过测试的,运行也有近一年突然出现这个问题,还是新装系统后,确实十分诡异!参考映像未有更新,故障现象均发生在加域之后,那必然与域环境有关,首先检查的就是 GPO,是否进行了限制,但经过分析发现是 Windows 防火墙服务启动被配置为禁用,恢复后故障消失,之后再禁用 Windows Firewall 服务进行测试,发现除了 Edge 外其他的 UWP Apps 均可正常运行,怀疑是系统 Bug 向微软开了 Case,引出前面提到的重装应用进行测试,确认 Powershell 命令行执行失败时提示的错误信息,因防火墙服务未运行是导致 UWP Apps 无法启动的根因。

        但该问题是否被确认为系统 Bug,还暂无结果。

win10creatorsupdate1703

HOWTO: 解决简体中文版Windows 10 IE主页和搜索被百度锁定的问题

        微软与百度达成合作,在简体中文版的 Windows 10 中内置了百度主页和搜索,当我们拿到一台装有 Windows 10的新电脑时启动浏览器会发现主页被重定向到了百度,而默认的搜索引擎也是百度。如果你不喜欢完全可以手工重新设定一次,便可改回自己喜欢的主页和搜索。

        但是对于企业IT人员在对Windows进行预定制时,可能会触发浏览器的保护策略。例如IT人员在Sysprep 的 Audit 模式下修改了IE的默认主页为企业内部站点,搜索改回Bing,这一切看起来都是很正常的。但此时如果将当前系统实例连接互联网,会发现再次打开浏览器时保护机制被触发了,系统会提示“由于默认搜索提供程序设置已损坏,Internet Explorer重置了你的默认搜索提供程序,要将默认搜索提供程序更改为Bing吗?”

1

        此外,还会提示“由于主页设置已损坏,Internet Explorer重置了你的主页,要将主页改为XXXX吗?

2

        接下来不论你如何选择,或是修改主页和搜索,都将无济于事,每次打开浏览器都会提示。分析了注册表发现了如下图的注册项”Protected - It is a violation of Windows Policy to modify. See aka.ms/browserpolicy“,确认是定制的主页和搜索触发了保护机制。(PS:百度相当有实力啊,可以让MS这么为他推广)

3

        不管怎样问题还是要解决的,用Procmon进行了抓包,发现了一些线索。当设置主页和搜索时会触发一个名为EUPP的注册表项,看内容其下的 BackupHomePage 和 BackupDefaultSearchScope 十分可疑,由于是16进制的HEX数据,Decode 后发现是加密的,所以无法得到具体的数据。

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\EUPP

        之后也咨询了微软方面,确认了与 EUPP 有关,建议可以修改 DoNotAskAgain 为想要的 URL,并且还需要修改 Hosts 文件添加一条记录 “127.0.0.1 ieonline.microsoft.com”,便可解决 IE 被锁定并重复提示设置主页和搜索的问题。

win10creatorsupdate1703

HOWTO: 为Windows 10开始界面的程序添加 以其他用户身份运行

        Windows 10 Pro v1703 版在未加域前可以在开始界面上鼠标右键点击程序使用更多菜单下的“以其他用户身份运行”(run as a different user)来执行程序。这个功能使在加域的客户端环境下能快速的以不同的域账户身份或本地用户身份去运行一个程序,而无需切换桌面环境。例如安装了 RSAT 当要使用 ADUC 进行管理操作,而当前登录用户又没有对应权限时,就可以利用“以其他用户身份运行”,如下图所示。

RunAsADifferentUserInStart

        令 gOxiA 感到郁闷的是在实际的环境中,一旦客户端加入域后开始界面上的“以其他用户身份运行”就消失了,本以为是域组策略限制了使用,但实际并没有做任何限制。如果要启用这个功能可以通过域组策略进行预配,该选项位于 用户配置/策略/管理模板/“开始”菜单和任务栏/在“开始”中显示“以其他用户身份运行”,启用即可。

GPO-RunAsADifferentUserInStart

        如果无法实施域组策略,那么可以修改本地组策略,或注册表。但实际测试发现,当修改注册表重启计算机后功能虽然生效了,但是第二天貌似又会被覆盖掉。在咨询微软后了解到,虽然该选项属于用户配置,但可以在 HKLM 下创建对应的项和键,除了可以解决所有登录用户都能够在开始界面上显示”以其他用户身份运行“外,也可以避免设置被覆盖。(PS:是不是 Bug 目前不得而知!)

        下面是针对用户配置和计算机配置的对应路径和键值,可参考使用。

  • HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer
  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer
  • Name: ShowRunAsDifferentUserInStart
  • Type: REG_DWORD
  • Data: 1
分页: 39/146 第一页 上页 34 35 36 37 38 39 40 41 42 43 下页 最后页 [ 显示模式: 摘要 | 列表 ]