Можем ли мы иметь два разрешения FullTrust в проекте UWP - PullRequest
0 голосов
/ 24 октября 2019

Я занимаюсь разработкой приложения UWP, в котором я создал проект UWP, проект Windows Packaging, библиотеку классов, консольное приложение (приложение Windows).

Здесь приложение UWP связывается с консольным приложением (win23) с помощьюотправка запроса и получение ответов от методов, созданных в приложении Win32. Это делается с использованием разрешения FullTrust.

Но теперь я хочу добавить еще одно приложение разрешения Fulltrust в этот проект, которое будет запускаться независимо каждый раз, когда я вызываю это приложение. Кроме того, эти два приложения win32 не будут иметь никакого пользовательского интерфейса, а будут действовать только как фоновый процесс. Итак, в новом win32 я реализую функциональность, с помощью которой я получаю доступ к своим контактам Microsoft Office Outlook.

Итак, если я объявлю это новое приложение win32 в файле Package.manifest проекта Packaging и запусту приложение. Это дает мне ошибку, говоря, что у нас может быть только одно полное разрешение в проекте.

Подскажите, пожалуйста, как мне поступить.

1 Ответ

0 голосов
/ 26 октября 2019

Хотя в манифесте может быть объявлено только одно расширение процесса полного доверия, вы, безусловно, можете запустить столько процессов полного доверия, сколько захотите. Способ сделать это - создать процесс запуска и объявить его как расширение процесса fulltrust. Из этого модуля запуска вы можете запустить любое количество других EXE-файлов в зависимости от параметра, передаваемого программе запуска.

Этот подход подробно описан здесь с полным примером кода: https://stefanwick.com/2018/04/06/uwp-with-desktop-extension-part-2/

Для полноты: другой вариант (более сложный и, возможно, не тот, который вам нужен) - объявить несколько объектов в манифесте. Дополнительными объектами могут быть приложения полного доверия, которые вы запускаете из UWP через API AppListEntry.

...