Обработка строк параметров на кодовой странице
Вы можете добавить сведения о локализации в базу данных установки с помощью редактора таблиц базы данных, например Orca, предоставленного пакетом SDK установщика Windows, или путем вызова функций базы данных из приложения. Будьте осторожны, чтобы передать только строковые параметры, использующие кодовую страницу базы данных, локализованной. Если строковый параметр содержит символы, которые не могут быть представлены кодовой страницей базы данных, установщик возвращает ошибку при вызове MsiDatabaseImport. Список числовых кодовых страниц см. в локализации таблиц Error и ActionText.
Дополнительные сведения см. в определении кодовой страницы базы данных установки.
При добавлении сведений о локализации в базу данных кодовая страница базы данных должна поддерживаться операционной системой. Она не должна быть текущей кодовой страницей системы. IsValidCodePage должен возвращать TRUE для кодовой страницы базы данных. Так как система преобразует строки ANSI в Юникод, возникает ошибка, если текущая кодовая страница пользователя не совпадает с кодовой страницей базы данных.
Вызов версии ANSI API установщика Windows преобразует локализованную строку в Юникод с помощью текущей системной кодовой страницы. При фиксации базы данных строка Юникода преобразуется в ANSI с помощью кодовой страницы базы данных. Если текущая системная кодовая страница отличается от кодовой страницы локализованной строки, результатом может быть потеря данных и неправильное преобразование строк.
В следующей процедуре показано, как хранить данные локализации.
Хранение данных локализации
- Задайте кодовую страницу базы данных на кодовую страницу локализованной строки.
- Преобразуйте строку ANSI в Юникод с помощью функции MultiByteToWideChar и укажите кодовую страницу локализованных данных.
- Вызовите версию Юникода API установщика Windows с помощью строки Юникода, чтобы добавить локализованные данные.
- Зафиксируйте изменения локализации в базе данных с помощью MsiDatabaseCommit.
Вы также можете добавить сведения о локализации в базу данных установки, импортируя и экспортируя текстовые архивные файлы ASCII. Дополнительные сведения см. в разделе Обработка кодовой страницы импортированных и экспортированных таблиц.