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


Создание международных INF-файлов

Для создания установок для международных рынков требуется предоставить INF-файлы, относящиеся к языковому стандарту, и, возможно, файлы драйверов, зависящие от языкового стандарта.

INF-файл, который будет использоваться на международном рынке, должен использовать % маркеры strkey% для всего текста, доступного для просмотра пользователем. Строки определяются в разделе INF Strings , который обычно находится в конце INF-файла.

Locale-Specific INF-файлы

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

  • Чтобы создать один международный INF-файл, необходимо включить набор строк, относящихся к языковому стандарту. Разделы LanguageID, как описано на справочной странице для раздела Строки INF. Используйте этот метод, если вы планируете поставлять один носитель установки для всех международных рынков.

    Для установки в Windows 2000 и более поздних версиях Windows это рекомендуемый метод для поддержки международных рынков.

  • Чтобы создать отдельный INF-файл для каждого языкового стандарта, начните с main INF-файла, содержащего все необходимые разделы и записи, за исключением раздела Строки. Затем создайте второй набор файлов, каждый из которых содержит только раздел Строки для поддерживаемого языкового стандарта. Сцепить файл main с каждым файлом строк, чтобы создать INF-файлы для конкретного языкового стандарта.

    Для установки в Windows 2000 и более поздних версиях Windows используйте этот метод , только если вы планируете предоставлять отдельный носитель установки для каждого международного рынка. Нельзя предоставить несколько версий INF-файла для конкретной версии операционной системы на одном установочном носителе, так как Windows не может определить, какой INF-файл использовать.

Locale-Specific версии файлов драйверов

Если необходимо указать версии файлов драйверов для Windows 2000 и более поздних версий Windows, пометьте каждую версию каждого файла своим языковым стандартом. Не забудьте пометить файлы, не относящиеся к языковому стандарту, как нейтральные к языку. Это можно сделать, добавив следующее определение макроса в файл ресурсов:

#define VER_LANGNEUTRAL

Это определение должно отображаться перед директивой препроцессора, включающей common.ver.

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

  1. Щелкните файл правой кнопкой мыши в Windows Обозреватель.

  2. Нажмите кнопку Свойства.

  3. Перейдите на вкладку Версия .

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

Поместите файлы, относящиеся к языковому стандарту, в отдельные подкаталоги для среды распространения, такие как /English и /German. В INF-файле выполните следующие действия.

  • В разделе INF SourceDisksFiles укажите подкаталоги, относящиеся к языковому стандарту, с помощью токена ключа строки, например %LocaleSubDir%.

  • Укажите отдельные разделы INF Strings для каждого языка и определите соответствующую строку имени подкаталога в каждом разделе.

Пример:

[SourceDisksNames]
1=%DiskName%,,,%LocaleSubDir%

[SourceDisksFiles]
mysftwre.exe=1

[Strings]              ; No language ID implies English
DiskName="My Excellent Software"
LocaleSubDir="English"
[Strings.0407]         ; 0407 is the language ID for German
DiskName="Meine ausgezeichnete Software"
LocaleSubDir="German"

Создание INF-файлов Юникода

Если INF-файл содержит символы, которые находятся за пределами диапазона ASCII (то есть за пределами диапазона от 0 до 127), INF-файл должен иметь формат Юникод (UTF-16). Одним из способов создания INF-файла Юникода является использование приложения, например Блокнота, для сохранения его в формате Юникода (UTF-16). Если INF не имеет формат Юникода (UTF-16), Windows использует текущий языковой стандарт для перевода символов. Если INF-файл имеет формат Юникода (UTF-16), Windows использует полную кодировку Юникода.

Некоторые приложения, такие как Блокнот, позволяют создавать файлы Юникода (UTF-16) в формате с минимальным эндианом или биг-эндианом формате. Windows поддерживает INF-файлы, использующие любой формат.