我正在为我的应用程序创建一个MSIX安装程序,我试图将其设置为几个文件扩展名的默认应用程序。我得到的结果好坏参半。我发现,当你按文件类型查看Default Apps
默认应用程序时,文件类型关联可以处于三种状态…
default apps by file type
列表中不存在文件扩展名- 文件扩展名存在于
default apps by file type
列表中,但没有与默认应用程序设置 - 文件扩展名存在于
default apps by file type
列表中,并设置为默认应用
在前两种情况下,MSIX安装程序将成功地将给定的文件类型与应用程序关联起来,但在第三种情况下,如果已经分配了应用程序,它将不会接管。所以问题是:这是预期的行为还是没有达到预期的效果?如果这是预期的行为,那么还需要什么才能使MSIX安装程序设置正确的文件关联(如果已经分配了关联)?
下面是appxmanifest.xml的代码,它为文件扩展名设置默认应用:
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="fileassociations">
<uap:SupportedFileTypes>
<uap:FileType>.ext1</uap:FileType>
<uap:FileType>.ext2</uap:FileType>
</uap:SupportedFileTypes>
</uap:FileTypeAssociation>
</uap:Extension>
</Extensions>
你的三个例子是绝对正确的,我认为这是微软自Windows8或Windows10以来的设计功能。用户有最终的决定权,他将使用哪个程序来处理文件。在第三种情况中,用户对一个文件关联有两个程序。当你作为管理员向用户部署软件时,你不能说"嘿,这是这个文件关联的新的默认应用程序"。
所以你必须卸载所有具有相同文件关联的其他应用程序,这样case 3就会变成case 2,或者你创建一个组策略和一个AppAssoc.xml:[https://techcommunity.microsoft.com/t5/ask-the-performance-team/how-to-configure-file-associations-for-it-pros/ba-p/1313151] [1]
问好