Hello Halifax Crosby,
Thanks for the question. Here’s a clarifying view:
- runFullTrust: for a Win32 / .NET (WinForms/WPF) app packaged as MSIX, declaring
<rescap:Capability Name="runFullTrust" />tells MSIX that this is a full-trust desktop app (i.e. not sandboxed). - internetClient: in the MSIX/app-capability model this is the “formal” declaration that the package intends to use internet/network access.
Because “full-trust desktop” and “network access” are separate in the MSIX manifest schema, runFullTrust alone does not formally guarantee that MSIX recognises or authorises network capability.
So while your app may “work fine” without internetClient, it’s not guaranteed, and many MSIX packages include both for completeness and to avoid future edge-cases or restrictions.
Even for full-trust packaged WinForms apps, MSIX still expects you to declare both if you need both. That’s why many apps include:
<rescap:Capability Name="runFullTrust" />
<Capability Name="internetClient" />
Relevant docs:
https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-rescap-capability
https://learn.microsoft.com/en-us/uwp/schemas/appxpackage/uapmanifestschema/element-capability
Hope this clears it up.