MicrosoftDocs / winrt-related

WinRT related reference content for developing Microsoft Universal Windows Platform (UWP) apps
Creative Commons Attribution 4.0 International
76 stars 91 forks source link

[DOCS] uap10:RuntimeBehavior #364

Closed rednoah closed 7 months ago

rednoah commented 1 year ago
An optional string value. If specified, it can be one of the following values: windowsApp, packagedClassicApp, or win32App.

So what does windowsApp, packagedClassicApp and win32App mean exactly? What differences in runtime behaviour can I expect depending on this choice? Which one should I pick for my package and why? Example use case for each option? Since none is required, which one is the default?

MagnusJohansson commented 10 months ago

The 3 choices are documented here in section Attributes -> uap10:RuntimeBehavior.

"packagedClassicApp"—a WinUI 3 app, or a Desktop Bridge app (Centennial). For a WinUI 3 app, usually goes with a TrustLevel of "mediumIL" (but "appContainer" is also an option).

"win32App"—any other kind of Win32 app, including an app packaged with external location. Usually goes with a TrustLevel of "mediumIL" (but "appContainer" is also an option).

"windowsApp"—a Universal Windows Platform (UWP) app. Always goes with a TrustLevel of "appContainer".

One can also learn that :

"EntryPoint, RuntimeBehavior, and TrustLevel have overlapping meaning, and they're specified (and/or inherited) in combinations. Here are some valid combinations of activation info attributes."

Where is also states that :

Executable, uap10:RuntimeBehavior="packagedClassicApp", uap10:TrustLevel=["mediumIL", or "appContainer" (the default if omitted)]

That article has a lot of information that might or might not be relevant four your application and/or use case, so please read it in full.

Some related info that might be useful: Advantages and disadvantages of packaging your app and Types of desktop apps

drewbatgit commented 7 months ago

Resolving this issue as answered.