FileSavePicker after NotificationInvoked in an unpackaged Python Windows App SDK application
Hello again,
Thank you for the clarification regarding AppNotificationManager, unpackaged desktop applications, Windows App Runtime Bootstrapper initialization, and NotificationInvoked.
I would like to clarify a second, more specific part of the architecture.
Our application is an unpackaged Python 3.14 desktop process, using PyWinRT/WinUI3 projections to access Windows Runtime and Windows App SDK APIs.
We have a workflow in which the user interacts with an action button in an AppNotification. The NotificationInvoked callback is then used to return that user action to the host process.
The next step in the workflow is to present a FileSavePicker so that the user can choose where to save the result generated by the operation.
This raises an important architectural question:
Are there any documented limitations or requirements when using FileSavePicker as a result of an AppNotificationManager.NotificationInvoked callback in an unpackaged desktop application?
In particular, we would like to understand whether the following combination is supported:
AppNotification action → NotificationInvoked → unpackaged host process → FileSavePicker → user selects a file location.
We would also appreciate clarification regarding:
Whether FileSavePicker can be invoked directly from the NotificationInvoked callback, or whether the operation must be dispatched to a UI thread, dispatcher, or specific COM apartment/context.
Whether there are threading, apartment, window ownership, process-lifetime, or activation-context requirements for this scenario.
Whether these requirements are different for an unpackaged application compared with a packaged application.
Whether Python 3.14 with PyWinRT/WinUI3 projections is a supported way to consume these APIs, and whether there are known limitations compared with the documented C++/C#/WinUI examples.
If directly invoking FileSavePicker from NotificationInvoked is not the recommended architecture, what Microsoft-recommended pattern should an unpackaged desktop application use instead?
Finally, from a technology and product-development perspective, we would also appreciate guidance on the currently recommended Windows technologies for implementing this type of desktop workflow in an unpackaged application, particularly when the application is implemented in Python.
We are interested in using the Microsoft-supported APIs and deployment model that provide the most appropriate foundation for a production desktop application, rather than relying on undocumented behavior.
We are intentionally not including proprietary source code or implementation details. We can provide additional non-sensitive technical information if necessary.
Thank you for your guidance.