Closed TimMangan closed 1 year ago
@TimMangan - I went down the rabbit hole on this issue and have two thoughts about this page:
As part of this investigation, I was pointed to the source code that defines which categories are considered to be application vs. package extensions. I think this information is more valuable that a list of "child" elements that include both kinds of extension categories. I was able to parse the source code and generate a table of categories supported as application extensions. I'm proposing replacing the Child element section with a table in the remarks section of this page. Here is what that table would look like. As a frequent user of these docs, I am interested in your opinion of my proposed change to this page. Theoretically, I would go and make a similar table for the package extension page as well.
Remarks The following extension categories are valid application extensions.
Extension category | Extension |
---|---|
windows.backgroundTasks | Extension |
windows.preInstalledConfigTask | Extension |
windows.updateTask | Extension |
windows.restrictedLaunch | Extension |
windows.cloudFiles | cloudFiles:Extension |
windows.comServer | com:Extension |
windows.comInterface | com:Extension |
windows.comServer | com2:Extension |
windows.comInterface | com2:Extension |
windows.comServer | com4:Extension |
windows.comInterface | com4:Extension |
windows.fullTrustProcess | desktop:Extension |
windows.startupTask | desktop:Extension |
windows.toastNotificationActivation | desktop:Extension |
windows.searchProtocolHandler | desktop:Extension |
windows.appPrinter | desktop2:Extension |
windows.searchFilterHandler | desktop2:Extension |
windows.searchPropertyHandler | desktop2:Extension |
windows.mailProvider | desktop2:Extension |
windows.autoPlayHandler | desktop3:Extension |
windows.cloudFiles | desktop3:Extension |
windows.fileExplorerContextMenus | desktop4:Extension |
windows.service | desktop6:Extension |
windows.approvedShellExtension | desktop7:Extension |
windows.controlPanelItem | desktop7:Extension |
windows.service | desktop7:Extension |
windows.mailProvider | desktop7:Extension |
windows.shortcut | desktop7:Extension |
windows.applicationRegistration | desktop7:Extension |
windows.desktopAppMigration | desktop7:Extension |
windows.systemFileAssociation | desktop7:Extension |
windows.shadowCopyExcludeFiles | desktop7:Extension |
windows.shadowCopyExcludeFiles | desktop7:Extension |
windows.fileExplorerClassicContextMenuHandler | desktop9:Extension |
windows.fileExplorerClassicDragDropContextMenuHandler | desktop9:Extension |
windows.activatableClass.outOfProcessServer | Extension |
windows.comInterface | Extension |
windows.aowApp | mobile:Extension |
windows.mobileMultiScreenProperties | mobile:Extension |
windows.communicationBlockingProvider | mobile:Extension |
windows.phoneCallOriginProvider | mobile:Extension |
windows.printSupportSettingsUI | printSupport:Extension |
windows.printSupportExtension | printSupport:Extension |
windows.printSupportJobUI | printSupport:Extension |
windows.settingsApp | rescap:Extension |
windows.desktopAppMigration | rescap3:Extension |
windows.lockScreenComponent | rescap3:Extension |
windows.fileTypeAssociation | uap:Extension |
windows.protocol | uap:Extension |
windows.autoPlayContent | uap:Extension |
windows.autoPlayDevice | uap:Extension |
windows.shareTarget | uap:Extension |
windows.search | uap:Extension |
windows.fileOpenPicker | uap:Extension |
windows.fileSavePicker | uap:Extension |
windows.cachedFileUpdater | uap:Extension |
windows.cameraSettings | uap:Extension |
windows.accountPictureProvider | uap:Extension |
windows.printTaskSettings | uap:Extension |
windows.lockScreenCall | uap:Extension |
windows.appointmentsProvider | uap:Extension |
windows.alarm | uap:Extension |
windows.webAccountProvider | uap:Extension |
windows.dialProtocol | uap:Extension |
windows.appService | uap:Extension |
windows.mediaPlayback | uap:Extension |
windows.print3DWorkflow | uap:Extension |
windows.lockScreen | uap:Extension |
windows.aboveLockScreen | uap:Extension |
windows.personalAssistantLaunch | uap:Extension |
windows.voipCall | uap:Extension |
windows.protocol | uap10:Extension |
windows.printSupportSettingsUI | uap12:Extension |
windows.printSupportExtension | uap12:Extension |
windows.printSupportJobUI | uap12:Extension |
windows.phoneCallActivation | uap13:Extension |
windows.webAccountProvider | uap2:Extension |
windows.appointmentDataProvider | uap3:Extension |
windows.emailDataProvider | uap3:Extension |
windows.contactDataProvider | uap3:Extension |
windows.appUriHandler | uap3:Extension |
windows.appExtensionHost | uap3:Extension |
windows.appExtension | uap3:Extension |
windows.protocol | uap3:Extension |
windows.fileTypeAssociation | uap3:Extension |
windows.sharedFonts | uap4:Extension |
windows.userDataTaskDataProvider | uap4:Extension |
windows.mediaCodec | uap4:Extension |
windows.contactPanel | uap4:Extension |
windows.loopbackAccessRules | uap4:Extension |
windows.devicePortalProvider | uap4:Extension |
windows.printWorkflowBackgroundTask | uap4:Extension |
windows.printWorkflowForegroundTask | uap4:Extension |
windows.userActivity | uap5:Extension |
windows.mediaSource | uap5:Extension |
windows.videoRendererEffect | uap5:Extension |
windows.activatableClass.outOfProcessServer | uap5:Extension |
windows.startupTask | uap5:Extension |
windows.appExecutionAlias | uap5:Extension |
windows.barcodeScannerProvider | uap6:Extension |
windows.barcodeScannerPreviewProvider | uap6:Extension |
windows.localExperiencePack | uap6:Extension |
windows.sharedFonts | uap7:Extension |
YEAH!!!!! Figuring out which ones are package and which are application extensions has so far been an act of trying to find a copy of the schema file and looking for possible comments, and trial and error in creating/testing packages. A clear table depicting this in the documentation is well needed.
Ok, great. I'll go ahead and remove the child elements and add this table instead to the remarks instead. I'll add creating a version of this for Package/Extensions to my to-do list.
I've completed this update. I didn't feel brave enough to delete the child elements list, so I updated it instead. I'll see what kind of response this update gets and then revisit whether it makes sense to leave those there.
I view it as appropriate. The reader wants to know what to put in an XML file. You wouldn't remove the framework Extension as a child element, so someone reading this knows exactly what can be placed as a child of Extensions, even if the others are technically a substitution group in the schema sets.
Add reference to the new Desktop10 extension.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.