WinUI 3 packaged (MSIX) launch ~2× - 3x slower than unpackaged (MSI) : same AOT binary. Expected, or is there a lever I'm missing?
I ship the same WinUI 3 app (.NET 10, Native AOT, WindowsAppSDKSelfContained=true) in two ways : an unpackaged MSI and a packaged MSIX for the Store.
Every launch (cold and warm) of MSIX version is slow by 2 to 3 times. (~250ms vs ~550ms in my 6th gen i5 CPU)
I'm trying to understand whether that's just the packaged specific delay or something I can reduce.
Measured, steady-state (warm-up run discarded), same machine, same file-open argument, "Best performance" power mode, 5 runs each:
- MSI (unpackaged) - median 250 ms
- MSIX (packaged) - median 550 ms
Things I've already ruled out:
- Its a completely offline app. It reads the image file passed as argument and draws it on a Win2d Canvas surface.
- Not JIT. Both are AOT binaries.
- Not the WinAppSDK self-contained flag. (Disabling this causes an additional delay of 30 to 50ms in my PC)
- Trust level: the app is a full-trust.
- Even empty blank screen test app has the same issue.
Questions:
Is a ~2× launch gap (≈300 ms) between MSIX and unpackaged normal for a full-trust AOT WinUI 3 app?
Any packaged-app-specific levers I need to be aware of?
Environment: Windows 11, x64, .NET 10, WinAppSDK 2.x, AOT