ffmpeginteropx / FFmpegInteropX

FFmpeg decoding library for Windows 10 UWP and WinUI 3 Apps
Apache License 2.0
205 stars 52 forks source link

About UWP/WinUI2 and WinAppSdk/WinUI3 Delivery and Runtime Modes #390

Closed softworkz closed 9 months ago

softworkz commented 9 months ago

FFmpegInteropX is one of the very few native code packages which are aiming to support both, UWP and WinAppSdk applications. A few others are offered by Microsoft but beyond that, it's getting hard to find any others. That's probably the reason why it's hard to get the required information and understanding from existing documentation, which covers specific parts only, spread over many different places, and sometimes can only be found in GitHub comments from MSFT people.

It took me quite some time get the bigger picture together and still there are some "holes", mainly because I didn't research those parts that I didn't need to know. Let's maintain this post as a work-in-progress and a one-stop reference. I'm making a start now and as questions arise and more information is acquired, we can further amend this post.

Overview Table

Packaged Container Identity Process SID File Access C/C++ Runtimes Store Allowed
UWP
Classic UWP Yes UWP Yes UWP Container Restricted App-Local Yes (All)
UWP Desktop Yes ? Yes UWP Container Restricted App-Local Yes (Windows)
WinAppSDK
Packaged, Containerized Yes Light Yes Special SID (1) Restricted System Yes (Windows)
Packaged, no Container Yes No Yes Current User ? System Yes (Windows)
Not Packaged, Containerized No Light No Special SID (2) ? System No
Not Packaged, no Container No No No Current User Full, like user System No

(to be continured)