​微软服务器对于大陆的连接质量不是很好,很多 UWP 应用时常无法正常使用,而且,UWP 应用是与系统网络隔离的,那么,如何让 UWP 的流量走代理呢,微软官方的开发者中心给出了一个方法:

https://docs.microsoft.com/en-us/windows/iot-core/develop-your-app/loopback

以下是实施这个方法的全过程:

情景一(单个设置):

首先打开注册表,Win+R 键,输入 regedit 回车

找到以下路径:

1
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings

其中,左边的注册表项即为应用的 SID 值

右边的 DisplayName 对应的值即为应用的名称,比如这里就是 Windows 商店

接着,使用管理员权限打开 CMD 或者 Powershell

输入

1
CheckNetIsolation.exe loopbackexempt -a -p=SID

其中的 SID 填上之前我们找到的

1
S-1-15-2-1609473798-1231923017-684268153-4268514328-882773646-2760585773-1760938157

回车之后即可解除 UWP 应用的网络隔离

情景二(批量设置):

使用管理员权限运行 CMD,输入以下的命令,回车即可

1
FOR /F "tokens=11 delims=\" %p IN ('REG QUERY "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings"') DO CheckNetIsolation.exe LoopbackExempt -a -p=%p

或者使用 PowerShell 指令也行:

1
Get-ChildItem -Path Registry::"HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings\" -name | ForEach-Object {CheckNetIsolation.exe LoopbackExempt -a -p="$_"}

题外话

​ UWP 应用作为微软主推的一种体系,近年来虽然有很多人响应并开发了很多优质的应用,但是,到现在还是半死不活的,和 Chrome 浏览器的 PWA 应用凑成了一对难兄难弟,呜呼哀哉。