Поделиться через


Модель сопоставлений типов файлов и URI

Платформы

Клиенты — Windows 8
Серверы — Windows Server 2012

Описание

Тип файла и модель сопоставления URI изменились в Windows 8. Приложения больше не могут программно задавать себя в качестве обработчика по умолчанию для типа файла или универсального кода ресурса (URI). Вместо этого теперь пользователь всегда определяет, какой обработчик по умолчанию является для типа файла или схемы URI.

Проявление

То, как это изменение представляется пользователю, зависит от того, как разработано приложение, например:

  • Многие приложения проверка, чтобы узнать, являются ли они значениями по умолчанию при каждом запуске, и в противном случае они запрашивают у пользователя значение по умолчанию. Однако, поскольку приложения больше не могут точно запрашивать, чтобы определить, какое приложение является обработчиком по умолчанию для типа файла или схемы URI, ни те из этих операций не работают.
  • Во многих приложениях имеется встроенное диалоговое окно или меню в установщике, в котором указываются типы файлов, для которых приложение должно использоваться по умолчанию. Однако, поскольку приложения больше не могут программно устанавливать себя в качестве обработчика по умолчанию для типа файла или схемы URI, это больше не работает.

Меры по снижению риска

Существует несколько действий, которые пользователи могут сделать, чтобы вместить эти изменения.

  • Пользователям предлагается выбрать приложение по умолчанию для обработки типов файлов, схем URI или и того, и другого, если одно из них не указано.
  • Пользователям предлагается изменить обработчик по умолчанию после установки новых приложений, которые могут обрабатывать тип файла или схему URI.
  • Панель управления программами по умолчанию позволяет пользователям задавать значения по умолчанию для приложения, типа файла, схемы URI или и того, и другого; приложения могут связываться с панелью управления
  • Значения по умолчанию можно изменить с windows Обозреватель

Решение

В результате этих изменений предоставляется следующее руководство по API:

  • Функциональность некоторых вызовов методов в API IApplicationAssociationRegistration изменилась и больше не должна использоваться.

    • Не вызывайтеQueryAppIsDefault/QueryAppIsDefaultAll , чтобы определить, является ли приложение приложением по умолчанию
    • Не вызывайтеQueryCurrentDefault , чтобы определить, какое приложение (если таковое имеется) является текущим значением по умолчанию.
    • Не вызывайтеSetAppIsDefault/SetAppIsDefaultAll , чтобы задать приложение по умолчанию
  • Ниже приведены рекомендации.

    • Не запрашивайте, чтобы узнать, какое приложение является обработчиком по умолчанию для типов файлов или схем URI

    • Не пытайтесь отслеживать изменения в обработчике по умолчанию для типов файлов или схем URI

    • Не пытайтесь задать приложение в качестве обработчика по умолчанию для типов файлов или схем URI.

    • Не пытайтесь управлять значениями по умолчанию для типов файлов или схем URI из приложения.

    • Выполните интеграцию с панелью управления Настройка программ по умолчанию , если вы хотите разрешить пользователям вашего приложения доступ к пользовательскому интерфейсу управления по умолчанию (пользовательский интерфейс управления в приложении больше не поддерживается).

Тесты

  • Проверка правильности регистрации приложений на панели управления "Установка программ по умолчанию"
  • Проверьте, правильно ли регистрируются приложения и отображаются в списке OpenWith для типов файлов, схем URI или и того, и другого, которые они регистрируют для обработки.
  • Проверьте, отображаются ли уведомления о новых приложениях после установки приложения и вызова пользователем типа файла, схемы URI или и того, и другого, что приложение зарегистрировано для обработки.

Ресурсы