簡體   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