繁体   English   中英

Windows 10 用户无法执行 AppExecLink 重解析点 .exe 文件

[英]Windows 10 user unable to execute AppExecLink reparse point .exe files

我的 Windows 10 安装在运行一些通过 Microsoft Store 安装的应用程序时出现问题,以及运行在桌面上右键单击时显示在菜单中的 nvidia 控制面板项时出现问题。 当您从开始菜单中选择应用程序时,使用 nvidia 控制面板的右键单击菜单项,或转到C:\\Users\\user1\\AppData\\Local\\Microsoft\\WindowsApps并双击其中的 .exe 文件之一,你会得到这样的错误:

[窗口标题]

C:\\Users\\user1\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.WinDbg_8wekyb3d8bbwe\\WinDbgX.exe

[内容] Windows 无法访问指定的设备、路径或文件。 您可能没有访问该项目的适当权限。
[好的]

同时,导航到安装目录中的实际 .exe 并双击它即可。 这包括由 nvidia 右键单击​​菜单项调用的可执行文件。

开始菜单中的非“WindowsApps”项目正常工作。

我已将其范围缩小到某种无法运行AppExecLink的情况(也称为“重新分析点”或“执行别名”)。 我使用从 Microsoft Store 安装的 WinDbg 创建了一个最小的测试用例,并使用了这篇博文中的Set-ExecutionAlias

下面我列出了一些 .exe 文件。 使用dir查看时,它们是 0 kb 文件。 它们类似于硬链接,但称为AppExecLink 它们不是实际的可执行文件 - 它们只是指向最终 .exe 的位置以及如何执行它。 不要对此感到惊讶。 这些不是硬链接、符号链接、.lnk 文件或连接点。 它们是AppExecLink 上面提到的博客文章很好地介绍了执行别名又名AppExecLink是什么。

您可以在下面看到,只需将AppTypeDesktop更改为UWP1就足以修复错误:应用程序执行时没有错误,就像我双击安装文件夹中的 .exe 文件一样。 但是,Microsoft Store 安装该程序时AppType设置为Desktop ,这会导致这种损坏的行为。 因此,要么它不应该将其设置为Desktop而这就是坏掉的地方,要么Desktop应该可以工作而这就是坏掉的地方。

所有文件在Get-Acl具有完全相同的输出,因此这不是能够执行文件C:\\Users\\user1\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.WinDbg_8wekyb3d8bbwe\\WinDbgX.exe和其他文件的问题喜欢它。

如何解决此行为? 为什么我没有运行Desktop应用程序类型的权限? 什么可能阻止此用户执行受影响的AppExecLink


以下是Get-ExecutionAlias输出(它们都是相同的,除了最后一个将AppTypeDesktop更改为UWP1 ):

Created by Microsoft Store, broken:
PS C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe> Get-ExecutionAlias .\WinDbgX.exe


Version         : 3
PackageName     : Microsoft.WinDbg_8wekyb3d8bbwe
EntryPoint      : Microsoft.WinDbg_8wekyb3d8bbwe!Microsoft.WinDbg
Target          : C:\Program Files\WindowsApps\Microsoft.WinDbg_1.2001.2001.0_neutral__8wekyb3d8bbwe\DbgX.Shell.exe
AppType         : Desktop
Flags           : 48
Tag             : APPEXECLINK
IsMicrosoft     : True
IsNameSurrogate : False
IsTagDirectory  : False


Created by me, broken:
PS C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe> Get-ExecutionAlias .\windbg5.exe


Version         : 3
PackageName     : Microsoft.WinDbg_8wekyb3d8bbwe
EntryPoint      : Microsoft.WinDbg_8wekyb3d8bbwe!Microsoft.WinDbg
Target          : C:\Program Files\WindowsApps\Microsoft.WinDbg_1.2001.2001.0_neutral__8wekyb3d8bbwe\DbgX.Shell.exe
AppType         : Desktop
Flags           : 48
Tag             : APPEXECLINK
IsMicrosoft     : True
IsNameSurrogate : False
IsTagDirectory  : False


Created by me, works:
PS C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe> Get-ExecutionAlias .\windbg6.exe


Version         : 3
PackageName     : Microsoft.WinDbg_8wekyb3d8bbwe
EntryPoint      : Microsoft.WinDbg_8wekyb3d8bbwe!Microsoft.WinDbg
Target          : C:\Program Files\WindowsApps\Microsoft.WinDbg_1.2001.2001.0_neutral__8wekyb3d8bbwe\DbgX.Shell.exe
AppType         : UWP1
Flags           : 49
Tag             : APPEXECLINK
IsMicrosoft     : True
IsNameSurrogate : False
IsTagDirectory  : False

Get-Acl输出,供您仔细检查(它们都是相同的):

PS C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe> Get-Acl .\WinDbgX.exe | fl


Path   : Microsoft.PowerShell.Core\FileSystem::C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe\WinDbgX.exe
Owner  : BUILTIN\Administrators
Group  : GAMING\user1
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         GAMING\user1 Allow  FullControl
         GAMING\TempAdmin2 Allow  FullControl
Audit  :
Sddl   : O:BAG:S-1-5-21-1777315463-2770185252-2942861946-1001D:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;FA;;;S-1-5-21-1777315463-2770185252-2942861946-1001)(A;ID;FA;;;S-1-5-21-1777315463-2770185252-2942861946-1006)



PS C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe> Get-Acl .\windbg5.exe | fl


Path   : Microsoft.PowerShell.Core\FileSystem::C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe\windbg5.exe
Owner  : BUILTIN\Administrators
Group  : GAMING\user1
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         GAMING\user1 Allow  FullControl
         GAMING\TempAdmin2 Allow  FullControl
Audit  :
Sddl   : O:BAG:S-1-5-21-1777315463-2770185252-2942861946-1001D:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;FA;;;S-1-5-21-1777315463-2770185252-2942861946-1001)(A;ID;FA;;;S-1-5-21-1777315463-2770185252-2942861946-1006)



PS C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe> Get-Acl .\windbg6.exe | fl


Path   : Microsoft.PowerShell.Core\FileSystem::C:\users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe\windbg6.exe
Owner  : BUILTIN\Administrators
Group  : GAMING\user1
Access : NT AUTHORITY\SYSTEM Allow  FullControl
         BUILTIN\Administrators Allow  FullControl
         GAMING\user1 Allow  FullControl
         GAMING\TempAdmin2 Allow  FullControl
Audit  :
Sddl   : O:BAG:S-1-5-21-1777315463-2770185252-2942861946-1001D:AI(A;ID;FA;;;SY)(A;ID;FA;;;BA)(A;ID;FA;;;S-1-5-21-1777315463-2770185252-2942861946-1001)(A;ID;FA;;;S-1-5-21-1777315463-2770185252-2942861946-1006)

您可以尝试修复您的 APPX 程序。 以管理员身份打开 PowerShell 并运行以下行。

Get-AppxPackage -allusers | foreach {Add-AppxPackage -register "$($_.InstallLocation)\appxmanifest.xml" -DisableDevelopmentMode}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM