Is there a way to associate a program with a file extension without ever taking over the file association? I want my app to be associated only through "Open with ..." but never be set as the default opener for the extension.
I can accomplish it for file extensions already associated with another app by using <uap3:FileTypeAssociation Name="thisisatest" desktop2:AllowSilentDefaultTakeOver="false">.
However, if the file type is not associated with a program, then my program launches when double-clicking a file with that extension.
I know it is a bit unusual, but my app analyzes various types of files and is normally not used to open them - which is why a more "indirect" option in the shell right-click menu makes more sense.
@brasmusson The traditional app that you capture has several ways to set up the scenario you desire when deploying via MSI or Setup.exe. Those scenarios include setting the .fta using the openwithlist, openwithprogid, or even a Shell "alternate verb" entry for the particular type without modifying the default value of the .fta key. Another method involves registration via the "App Paths" key.
It is my experience however, that the packaging tool does not properly capture any of these situations, usually resulting in the app becoming the default upon install or being ignored altogether.
Manual manipulation of the manifest might be able to produce a solution -- I'm not sure -- but certainly your uap3:FileTypeAssociation element would require the uap:SupportedFileTypes sub-element to have a chance to associate at all.