Как открыть исполняемый файл с помощью powershell внутри C:\Program Files\WindowsApps\some_app_folder\*.exe
?
Когда я запускаю следующую команду powershell:
Start-Process -FilePath '.\Calculator.exe'
#full path example: C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1903.21.0_x64__8wekyb3d8bbwe\Calculator.exe
Я получаю эту ошибку: " Эта команда не может быть выполнена из-за ошибки: доступ запрещен "
замечания
- Если я выполню поиск
Calculator
в поиске Windows и нажму клавишу ввода, я смогу открыть приложение таким образом с помощью поиска Windows.
Есть ли способ запустить процесс от имени другого пользователя, который может открыть этот файл?
Обходной путь вручную :
Я мог бы просто получить определенный ярлык URI, который запускает приложение из каждого приложения Windows, просмотрев каждое из приложений Windows C:\Program Files\WindowsApps\some_app\AppxManifest.xml
file . Например, я мог бы запустить несколько приложений для Windows следующим образом:
# Powershell ...you can also run this inside "Run as" without `Start-Process
Start-Process calculator:
Start-Process ms-photos:
Start-Process Spotify:
Но я пытаюсь избежать этого и просто использую файл .exe
. Очистка каждого манифеста не будет работать хорошо, так как AppxManifest
может иметь несколько или даже до дюжины ярлыков URI, определенных для запуска приложения (некоторые переходят на разные страницы в приложении). Например, приложение Windows Weather имеет:
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="msnweather"/>
</uap:Extension>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="bingweather"/>
</uap:Extension>
Мне нужно вручную создать в моем сценарии черный список того, какой ярлык URI сохранить или исключить.
ЦЕЛЬ :
- Я хотел бы просто открыть
.exe
файлы для
приложение для Windows
- Надеюсь, без изменения файлов реестра пользователя.
Я собираю путь к каждому .exe
файлу для каждого приложения Windows, чтобы впоследствии я мог создать список приложений Windows для отображения пользователю в приложении. После этого пользователь сможет щелкнуть приложение и открыть связанный с ним файл .exe.