Hi @Azer ,
Based on the official Microsoft documentation, here's a summary for each of your questions:
1. Is the derive-only, never-registered SID approach officially supported?
This isn't documented as a supported contract. The Launch an AppContainer guide says the profile must be created first. It uses DeriveAppContainerSidFromAppContainerName only when CreateAppContainerProfile returns ERROR_ALREADY_EXISTS, meaning the profile already exists.
The DeriveAppContainerSidFromAppContainerName page describes the function as returning the SID of a profile. It doesn't say the function registers one or that the derived SID can replace profile creation. AppContainer for legacy apps also states that unpackaged apps need an AppContainer definition or profile.
If this approach works on a given build, that is observed behavior, not a documented guarantee.
2. Which Windows versions support it?
The individual APIs are documented for Windows 8 / Windows Server 2012 and later, desktop apps only. See CreateAppContainerProfile and UpdateProcThreadAttribute. No version matrix is documented for this specific profileless LPAC combination.
3. Are there privilege, registration, or storage prerequisites?
For the documented profile-backed path:
- Profiles are created per user and per app.
- Creating one for another user requires impersonating that user.
-
CreateAppContainerProfilecan returnE_ACCESSDENIEDif the caller lacks permission. - The profile provides per-user folders and registry storage with appropriate ACLs.
No special privilege is documented for creating the current user's profile, and no registration-free or storage-free LPAC mode is documented.
4. Is there authoritative documentation confirming this behavior?
No public Microsoft documentation confirms that a SID derived from a never-registered name can be used as a supported, profileless LPAC identity.
If you need an authoritative statement on this behavior, I recommend opening a support request through Support for Business. If you don't have a business support plan, you can contact Microsoft Support instead.
If you find my response helpful, I would greatly appreciate it if you could follow the guide here so others experiencing similar behavior or issue can benefit from it as well.