Рекомендации по сопоставлениям файлов

Ниже приведен список рекомендаций, которые следует использовать при работе с сопоставлениями файлов.

Не копировать сопоставления файлов из реестра

Не рекомендуется копировать существующие сопоставления файлов из реестра. Это часто приводит к распространению неправильно сформированных сопоставлений файлов. Вместо этого следует выполнить действия, описанные в разделе Пример сценария сопоставления файлов.

Избегайте Hard-Coding путей в реестр, где это возможно

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

HKEY_CLASSES_ROOT
   MyVendor.MyProgram.1
      DefaultIcon
         (Default) = C:\WINNT\hta.exe,1

Используйте следующий метод:

HKEY_CLASSES_ROOT
   MyVendor.MyProgram.1
      DefaultIcon
         (Default) = "%SYSTEMROOT%\hta.exe,1"

Всегда заключайте расширяющиеся строки в кавычки

Расширяющиеся строки могут содержать пробелы при развертывании. Поскольку пробелы часто интерпретируются как разделители аргументов, при определенных обстоятельствах они вызывают проблемы. Например, команда для вызова MyProgram может храниться в реестре следующим образом:

%SYSTEMROOT%\MyProgram %1 %2

MyProgram ожидает, что %1 — полный путь к имени файла, а %2 — переключатель, указывающий на какое-либо действие. Если эта команда выполняется с аргументами C:\Program Files\My Documents\document.txt и /print, при условии, что systemroot имеет значение C:\WINNT, она развертывается до следующего:

C:\WINNT\MyProgram C:\Program Files\My Documents\document.txt /print

В этом случае MyProgram интерпретирует, что первым аргументом является C:\Program, а вторым аргументом является Files\My, что не является предполагаемым поведением. Аргументы интерпретируются правильно, независимо от того, содержат ли они пробелы, если расширяющиеся строки заключены в кавычки следующим образом:

"%SYSTEMROOT%\MyProgram" "%1" "%2"

Не путайте автозапуск и автозапуск с сопоставлениями файлов

Сопоставления файлов в некотором смысле похожи на автозапуск и автозапуск. Однако функция автозапуска и автозапуска предоставляет отдельные и отличные возможности от возможностей, предоставляемых сопоставлениями файлов. Дополнительные сведения см. в статье Создание приложения для компакт-дисков с поддержкой автозапуска.

Не путайте интернет-Обозреватель базу данных MIME с сопоставлениями файлов

Сопоставления файлов похожи на базу данных MIME для Интернета в Windows Обозреватель, так как типы файлов могут (и должны) включать определение типа MIME. Однако база данных MIME в Интернете Обозреватель отделена и отличается от сопоставлений файлов.

Использование правильно сформированных и версионированных идентификаторов ProgID

Всегда используйте идентификаторы ProgID с управлением версиями, даже если существует только одна версия ProgID. Идентификаторы ProgID с управлением версиями помогают избежать конфликтов и перезаписи ProgID. Они также позволяют сосуществовать различные версии приложения.

Не использовать короткие расширения имен файлов

Расширения длинных имен файлов обладают следующими преимуществами:

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

Дополнительные сведения см. в разделе Расширения имен файлов.

Регистрация новых типов файлов в базе данных MIME IANA

IANA хранит общедоступную базу данных зарегистрированных типов MIME. При определении нового общедоступного типа файла рекомендуется также определить тип MIME для этого типа файла и зарегистрировать этот тип в IANA. Плата за регистрацию не требуется.

Регистрация в веб-службе Windows для сопоставления файлов

Разработчики приложений могут зарегистрироваться в веб-службе Windows, которую пользователи используют для поиска приложений, которые могут работать с определенными типами файлов. Процесс регистрации в веб-службе подробно описан в статье Процесс подключения системы сопоставления файлов Windows (KB 929149).

Пример сценария сопоставления файлов

Рекомендации по управлению приложениями по умолчанию в Windows Vista и более поздних версиях

Программы по умолчанию

Настройка доступа к программе и значений по умолчанию для компьютера (SPAD)