В моей установке Windows 10 возникают проблемы с запуском некоторых приложений, установленных через Microsoft Store, а также с запуском элемента панели управления nvidia, который отображается в меню при щелчке правой кнопкой мыши на рабочем столе. Когда вы выбираете приложение из меню «Пуск», используйте элемент меню правой кнопки мыши для панели управления nvidia или от go до C:\Users\user1\AppData\Local\Microsoft\WindowsApps
и дважды щелкните там один из файлов .exe, вы получите такую ошибку:
[Название окна]
C: \ Users \ user1 \ AppData \ Local \ Microsoft \ WindowsApps \ Microsoft.WinDbg_8wekyb3d8bbwe \ WinDbgX.exe
[Содержимое] Windows не может получить доступ к указанному устройству, пути или файлу. У вас могут не быть соответствующих разрешений для доступа к элементу.
[OK]
Между тем, переход к действительному файлу .exe в каталоге установки и двойной щелчок по нему работают. Это включает в себя исполняемый файл, вызываемый элементом меню nvidia, вызываемым правой кнопкой мыши.
Элементы, отличные от «WindowsApps» в меню «Пуск», работают нормально.
Я сузил это до некоторой степени невозможности run AppExecLink
s (также известный как «точки повторной обработки» или «псевдонимы выполнения»). Я создал минимальный тестовый пример, используя WinDbg, установленный из Microsoft Store, и Set-ExecutionAlias
из этого сообщения в блоге .
Ниже я перечислю некоторые файлы .exe. При просмотре с dir
это файлы размером 0 КБ. Они похожи на жесткие ссылки, но они называются AppExecLink
s. Они не являются настоящими исполняемыми файлами - они просто указывают, где находится финальный .exe и как его выполнить. Не удивляйся этому. Это не жесткие ссылки, или символические c ссылки, или файлы .lnk, или точки соединения. Они AppExecLink
с. Упомянутый выше пост в блоге является хорошим введением в то, что такое псевдоним исполнения, также известный как AppExecLink
.
Ниже вы можете увидеть, что простого изменения AppType
с Desktop
на UWP1
достаточно, чтобы исправить ошибка: приложение выполняется без ошибок, так же, как когда я дважды щелкаю файл .exe из его установочной папки. Однако Microsoft Store устанавливает программу с AppType
, установленным на Desktop
, что приводит к этому нарушенному поведению. Так что либо он не должен быть установлен на Desktop
, и это то, что сломано, либо Desktop
должно работать, и это то, что сломано.
Все файлы имеют одинаковый вывод в Get-Acl
, так что это не не проблема в том, чтобы выполнить файл C:\Users\user1\AppData\Local\Microsoft\WindowsApps\Microsoft.WinDbg_8wekyb3d8bbwe\WinDbgX.exe
и другие подобные ему.
Как мне исправить это поведение? Почему у меня нет разрешений на запуск типов приложений Desktop
? Что может помешать этому пользователю выполнить AppExecLink
s, на которые он влияет?
Вот выходные данные Get-ExecutionAlias
(они все одинаковые, за исключением последнего изменения *) 1050 * от Desktop
до 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)