We often talk about “running an application”, “launching an app”, or “starting an app”. This conjures up visions of CreateProcess() spinning up a new process, giving the application life.
For packaged applications, Windows has a specific term for bringing an application to life: activation.
Bringing a packaged process to life involves more than ordinary unpackaged process creation. Windows calls this machine “activation”.
Activation does more than simply create a process. Among other things, it creates the new process with the appropriate package identity. Activation also verifies the package is in an appropriate state before starting the process and can initiate repair (also known as remediation) when it isn’t.
Activatable Extension Points
There’s more that can be activated than applications. An activatable extension point defines something Windows can activate. <Application> declarations and certain <Extension> declarations represent activatable extension points. These declarations can cause Windows to activate a packaged process.1
Activation is the mechanism Windows uses to start a packaged process through an activatable extension point. This includes obvious scenarios such as launching a packaged application from the Start menu or double-clicking a file in File Explorer whose file type is associated with a packaged application2. It also includes less obvious scenarios, such as instantiating a COM or WinRT out-of-process (OOP) object hosted by a packaged process3.
1 Manifested Extension elements can appear in many namespaces. For example, <uap17:extension Category=”windows.packageExtension”>, <com4:extension Category=”windows.comServer”> and <desktop9:extension Category=”windows.fileExplorerClassicContextMenuHandler”> are all examples of <Extension> declarations.
2 Examples include <uap:extension Category=”windows.fileTypeAssociation”>.
3 Examples include <com4:extension Category=”windows.comServer”> or <uap5:extension Category=”windows.hostRuntime”>
0 comments
Be the first to start the discussion.