Рекомендации по сопоставлениям файлов
Ниже приведен список рекомендаций, которые следует использовать при работе с сопоставлениями файлов.
- Не копировать сопоставления файлов из реестра
- Избегайте Hard-Coding путей в реестр, где это возможно
- Всегда заключайте расширяющиеся строки в кавычки
- Не путайте автозапуск и автозапуск с сопоставлениями файлов
- Не путайте интернет-Обозреватель базу данных MIME с сопоставлениями файлов
- Использование правильно сформированных и версионированных идентификаторов ProgID
- Не использовать короткие расширения имен файлов
- Регистрация новых типов файлов в базе данных MIME IANA
- Регистрация в веб-службе Windows для сопоставления файлов
- Связанные темы
Не копировать сопоставления файлов из реестра
Не рекомендуется копировать существующие сопоставления файлов из реестра. Это часто приводит к распространению неправильно сформированных сопоставлений файлов. Вместо этого следует выполнить действия, описанные в разделе Пример сценария сопоставления файлов.
Избегайте 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)