#c# #uwp
#c# #uwp
Вопрос:
Я пытаюсь запустить программу процесса полного доверия из своего приложения UWP. Я использую PackageManager в своем процессе полного доверия для поиска пакетов UWP для запуска файлов или ссылок, поэтому мне нужно запустить его от имени администратора.
Когда я пытаюсь запустить процесс полного доверия, он открывается и работает должным образом на моем компьютере (я использую учетную запись администратора). Однако, когда я просматриваю процесс в диспетчере задач, он не запускается с повышением.
Я просто беспокоюсь, что он может не работать ни на каком другом компьютере (не являющемся администратором). Вот мой код, который я использую в Package.appxmanifest, любезно предоставленный Стефаном Виком (https://stefanwick.com/2018/10/07/app-elevation-samples-part-3 /):
<desktop:Extension Category="windows.fullTrustProcess" Executable="AssetsNitishTest.exe">
<desktop:FullTrustProcess>
<desktop:ParameterGroup GroupId="Parameters" Parameters="parameters" />
</desktop:FullTrustProcess>
</desktop:Extension>
<uap3:Extension Category="windows.appExecutionAlias"
Executable="AssetsNitishTest.exe"
EntryPoint="Windows.FullTrustApplication">
<uap3:AppExecutionAlias>
<desktop:ExecutionAlias Alias="NitishTest.exe" />
</uap3:AppExecutionAlias>
</uap3:Extension>
Однако я не использую проект упаковки приложений Windows. Может ли это быть причиной того, что он не работает должным образом с повышением?
Комментарии:
1.Я проверил приведенное выше описание случая, но не смог найти, что вы объявили
allowElevation
о возможности. Вы можете объявить в Package.appxmanifest возможность allowElevation, которая позволяет приложениям, созданным партнерами и предприятиями Microsoft, сохранять существующую функциональность рабочего стола, требующую автоматического повышения при запуске или в течение срока службы приложения.2. Кроме того, мы предлагаем вам использовать проект упаковки приложений Windows (новая функция), который представлен в Windows 10 версии 1607, для создания пакета для вашего настольного приложения.
3. @YanGu-MSFT Привет, Ян, спасибо за комментарий. На самом деле я объявил allowElevation в манифесте под этим фрагментом кода. Будет ли это запускать процесс с полным доверием от имени администратора?
4. Не могли бы вы, пожалуйста, сказать мне, добавили ли вы код о перезапуске процесса от имени администратора, используя AppExecutionAlias в Program.cs «Расширенного расширения», как описано в блоге Стефана Вика?
5. @YanGu-MSFT Привет, Ян, я действительно добавил код для повторного запуска в качестве администратора, и теперь он работает. Спасибо! У меня просто возникла проблема с тем, чтобы заставить PackageManager работать, даже если процесс полного доверия повышен (у меня есть еще один пост).