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


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

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

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

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

Избегайте 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)