问题
当尝试运行某些预配的 Windows 应用Provisioned Windows apps在 Windows 1903 上,应用程序似乎打开了,然后很快消失了 - 这就是问题所在。
故障排除
在检查事件查看器 Application
日志中记录了Event ID 1000
事件。此外,检查事件查看器| Application and Services Logs
| Microsoft
| Windows
|Apps
并且在Microsoft-Windows-TWinUI/Operational
日志中记录了Event ID 5961
事件。
事件查看器错误代码
- 事件 ID:1000:异常代码:0xc000027b
- 事件 ID:5961:错误代码:未知 HResult 错误代码:0x80040904。激活阶段:COM 应用激活
我尝试过的一些方法
我尝试运行下面的 PowerShell 并重新安装存在此问题的应用程序,它似乎运行时没有错误,但问题仍然存在。
$wAppPath = (Get-AppxPackage -Name "*Calc*").InstallLocation;
Add-AppxPackage -Path "$wAppPath\Appxmanifest.xml" -Register -DisableDevelopmentMode;
我也运行了
sfc /scannow
一些不同的dism
命令,重新启动了,但无论我尝试了所有这些方法,问题仍然存在。我还查看并尝试了Metro 应用程序在启动时崩溃,是驱动程序还是权限问题?也发布一下。
以及在Windows 10 Edge 打开片刻后消失帖子,但似乎没有任何解决。
更多细节
此问题似乎仅发生在配置为自动登录在关机和启动时都会删除其配置文件(是的,两者都删除),使用德尔普罗夫2方法。
事件查看器详细信息
事件 ID 1000
Faulting application name: Calculator.exe, version: 10.1812.1901.4008, time stamp: 0x5c304989 Faulting module name: Windows.UI.Xaml.dll, version: 10.0.18362.356, time stamp: 0x0825b5b0 Exception code: 0xc000027b Fault offset: 0x0000000000712cf0 Faulting process id: 0x1518 Faulting application start time: 0x01d568dbe3b0f42c Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1812.10048.0_x64__8wekyb3d8bbwe\Calculator.exe Faulting module path: C:\Windows\System32\Windows.UI.Xaml.dll Report Id: 23d86f95-8eec-407b-b52c-86043d6d0426 Faulting package full name: Microsoft.WindowsCalculator_10.1812.10048.0_x64__8wekyb3d8bbwe Faulting package-relative application ID: App
事件 ID 5961
Activation for Microsoft.WindowsCalculator_8wekyb3d8bbwe!App failed. Error code: Unknown HResult Error code: 0x80040904. Activation phase: COM App activation
答案1
解决此问题的一种方法是注册适用的 UWP预配的 Windows 应用Provisioned Windows apps以及每个应用程序的依赖项。下面是一些 PowerShell 逻辑,这些逻辑在以遇到问题的用户帐户身份登录时运行,使用登录脚本等,并修复了该问题。
笔记:对于其他人来说,可能只需要运行一次就可以解决这个问题,我的情况可能比较特殊,而不是常态。
我确认此 PowerShell 解决方案至少在两个 UWP 应用程序中修复了此问题(例如 Calc 和照片)。在查看了 PowerShell 中的一些逻辑后,我弄清楚了程序.cs在GitHub 这里确认运行后注册表所有应用程序X位于那里也解决了这个问题。
GitHub 上的可执行文件执行时间太长了,至少在我的情况下,每次登录有问题的账户时都需要运行它,因为它每次登录 Windows 10 时都会自动获取一个新的配置文件。我认为德尔普罗夫2没有正确擦除配置文件并导致问题,但一个更原生的解决方案暂时搁置,但可能会在将来出现。
回顾一下程序.cs您可以研究、测试代码并将其转换为等效的 PowerShell 逻辑,以便针对遇到问题的特定 UWP 应用以更有针对性和更有效的方式执行类似的操作。
电源外壳
$Apps = @("WindowsCalculator","Photos");
$base = @();
$depend = @();
$Apps | %{
$base += $base = (Get-AppxPackage -Name "*$_*").InstallLocation;
$depend += $depend = (Get-AppxPackage -Name "*$_*").Dependencies.InstallLocation;
};
$Apps = (($base + $depend) | Sort -Unique);
$Apps | %{Add-AppxPackage -Path "$_\Appxmanifest.xml" -Register -DisableDevelopmentMode};
支持资源
- 数组
-
标准别名对于 Foreach 对象:'
%
' 符号,ForEach -
您可以
Register
在开发 Windows® Store 应用期间使用参数从未打包文件的文件夹中进行安装您可以使用
DisableDevelopmentMode
注册由StagePackageAsyncAPI,已被禁用,或在测试期间已损坏。
-
+=
:将变量的值增加指定的值,或将指定值附加到现有值。 -
标准别名对于设置别名:
sort
- PackageManager 类