Рекомендации по сопоставлению файлов
Ниже приведены рекомендации, которые следует использовать при работе с сопоставлениями файлов.
- Не копируйте ассоциации файлов из реестра
- избегайте путей Hard-Coding в реестр, где это возможно
- Всегда заключайте расширяющиеся строки в кавычки
- Не путайте автозапуск/автопроигрывание с ассоциациями файлов
- Не путайте базу данных MIME в Internet Explorer с ассоциациями файлов
- Корректно сформированные и пронумерованные версии ProgID
- Не используйте расширения коротких имен файлов
- Зарегистрировать новые типы файлов в базе данных IANA MIME
- Зарегистрируйтесь в интернет-сервисе 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"
Не путайте автовоспроизведение или автозапуск с связями файлов
Сопоставления файлов похожи на автоматическое воспроизведение/автозапуск в какой-то степени. Однако функция автозапуска и авторуна предлагает отдельные и отличные возможности от предоставляемых сопоставлениями файлов. Дополнительные сведения см. в статье Создание CD-ROMприложения с поддержкой автозапуска.
Не путайте MIME-базу данных Internet Explorer с ассоциациями файлов.
Сопоставления файлов похожи на базу данных MIME в Windows Internet Explorer тем, что типы файлов могут (и должны) содержать определение MIME-типа. Однако база данных MIME Internet Explorer является отдельной и отличной от сопоставлений файлов.
Правильно используйте формированные и версионированные ProgIDs.
Всегда используйте версии ProgIDs, даже если существует только одна версия ProgID. Версии ProgID помогают избежать конфликтов и перезаписей ProgID. Они также позволяют совместно существовать различным версиям приложения.
Не используйте расширения коротких имен файлов
Расширения имен длинных файлов предлагают следующие преимущества:
- Ограниченная длина коротких расширений делает их подверженными столкновениям расширений. столкновение расширения возникает, когда одно и то же расширение используется для классификации нескольких типов файлов. Использование длинных расширений значительно снижает вероятность столкновения.
- Короткие имена файлов, как правило, несколько криптографические. Длинные расширения, как правило, более значимы, так как дополнительные сведения могут быть внедрены в расширение.
Дополнительные сведения см. в разделе расширения имен файлов.
Регистрация новых типов файлов в базе данных IANA MIME
Центр назначения номеров Интернета (IANA) сохраняет общедоступную базу данных зарегистрированных типов MIME. При определении нового общедоступного типа файла рекомендуется также определить тип MIME для типа файла и зарегистрировать этот тип в IANA. Нет затрат на регистрацию.
Регистрация с помощью веб-службы Windows для сопоставлений файлов
Разработчики приложений могут зарегистрироваться в веб-службе Windows, которую пользователи используют для поиска приложений, которые могут работать с определенными типами файлов. Процесс регистрации с помощью веб-службы подробно описан в процессе подключения к системе файловых ассоциаций Windows (КБ 929149).
Связанные разделы
-
рекомендации по управлению приложениями по умолчанию в Windows Vista и более поздних версиях
-
Настройка доступа к программам и параметров компьютера по умолчанию (SPAD)