Вы должны использовать команды build powershell.
1 шаг, настройка
Перейдите в свою папку решений и создайте новую папку с именем «MyExeFolder».
внутри этой папки поместите нужный .exe, например, FFmpeg.exe
2 Шаг, Автоматизация
Щелкните правой кнопкой мыши на вашей записи Uwp Project и перейдите к Свойства , а затем перейдите к События сборки
в командах событий Post Build введите это:
xcopy / y / s "$ (SolutionDir) MyExeFolder \ FFmpeg.exe" "$ (SolutionDir) \ UWP \ bin \ x86 \ $ (ConfigurationName) \ AppX \"
Если вы также собираете для x64, то вы также добавляете ту же команду с x64 вместо этого и для x86, если вы собираете проект win32 вместе и группируете его по тому же решению, вы должны определить соответствующую папку bin.
3 Выполнение шага
Чтобы запустить приложения win32 из uwp, вам потребуется использовать функцию, называемую runFullTrust , сложно перечислить все модификации XML, которые вам нужно будет сделать, в манифесте приложения, чтобы включить такую функцию. но как только вы это выясните, вам нужно будет добавить это к узлу Extension:
<desktop:Extension Category="windows.fullTrustProcess"
Executable="FFmpeg.exe" />
здесь больше информации о том, как настроить манифест
Как только вы все это сделаете, вы можете просто запустить свою часть win32 из любого места в вашем приложении uwp:
try {
await Windows.ApplicationModel.FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
}
catch (Exception Ex)
{
//failed to Launch
}
Что касается дальнейшего чтения, я предлагаю вам посетить блог stefan wicks , так как у него огромное количество примеров и материалов о том, как преодолеть ограничения uwp с помощью собственной расширяемости .Net.