Многоязычная проблема лицензионного соглашения Wix Toolset

Я создал файл license.rtf на нескольких языках, и когда я пытаюсь собрать свой проект wix, он показывает мне эту ошибку:

Была предоставлена ​​строка с символами, которые недоступны в указанной кодовой странице базы данных "1252". Либо измените эти символы на символы, существующие в кодовой странице базы данных, либо обновите кодовую страницу базы данных, изменив один из следующих атрибутов: Product/@Codepage, Module/@Codepage, Patch/@Codepage, PatchCreation/@Codepage или WixLocalization. /@Codepage.

Я пытался добавить этот атрибут Codepage="1256" в теге продукта, он по-прежнему показывает ту же ошибку.

Не могли бы вы помочь мне решить эту проблему?

1 ответ

Это звучало довольно загадочно. Быстрый поиск нашел этот существующий вопрос: строка Wix с символами не доступна в кодовой странице базы данных, хотя кодовая страница установлена.

Кажется, для сводного потока MSI существует отдельная настройка кодовой страницы - свойство Codepage Summary - которая отличается от основной настройки кодовой страницы пакета.

Я заметил настройку кодовой страницы, называемую " SI Codepage " при тестировании с InstEd (см. Вниз страницу). Я не вижу этого свойства сводной кодовой страницы в Orca. Возможно, это там, и я просто не вижу этого.

  1. Может быть, вы неправильно настраиваете эту кодовую страницу потока сводной информации, хотя вы установили основную кодовую страницу пакета?

    • Похоже, кодовая страница потока сводной информации установлена ​​в Package element и не переопределяется автоматически в wxl файл локализации. Это, вероятно, ошибка WiX.
    • Я сделал ручное переопределение в фрагментах ниже (SummaryCodepage="!(loc.SummaryCodepage)" - получение значения из файла локализации через локализованную строку. По сути, вы делаете работу самостоятельно, и это должно работать без исправления ошибок от ребят из WiX для того, что вам нужно. Надеюсь - новый релиз WiX тяжелый материал).
  2. Я также вынул CodePage attribute для Product element в основном wxs исходный файл, чтобы попытаться разрешить настройку из wxl файл локализации вступит в силу. Смотрите последнюю ссылку в списке записей базы данных ошибок WiX внизу.

  3. Я чувствую, что " здесь будет больше драконов ". С локализацией очень странно иметь дело. Как это будет вести себя на правильной японской машине? Я хотел бы знать, пожалуйста, сделайте тест.


Я набросал быстрый макет, но у меня нет времени, чтобы проверить правильно. Может быть, есть быстрый тест:

<Product Id="*" Name="!(loc.ApplicationName)" Language="!(loc.LanguageLcid)" Version="1.0.0" 
                Manufacturer="!(loc.ManufacturerName)" UpgradeCode="PUT-GUID-HERE">

  <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" 
           Languages="!(loc.LanguageLcid)" SummaryCodepage="!(loc.SummaryCodepage)" />

А вот файл японской локализации (я понятия не имею, что означают эти японские символы, я просто скопировал и вставил что-то, чтобы закончить тестирование - ОБНОВЛЕНИЕ: ОК, Google Translate для спасения! Не найден оскорбительный язык!):

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ja-JP" Codepage="932" Language="1041" 
                 xmlns="http://schemas.microsoft.com/wix/2006/localization">
  <String Id="SummaryCodepage">932</String>
  <String Id="LanguageLcid">1041</String>
  <String Id="ApplicationName">各務原市農地支援・畑地管理システムインストーラー</String>
  <String Id="ManufacturerName">(株)テイコク</String>
</WixLocalization>

Я поместил несколько японских символов в одно лицензионное соглашение RTF, которое я также добавил туда (я не настроил правильное локализованное включение различных файлов RTF). Интерфейс установки выглядит нормально - он отображается на японском языке, а японские символы отображаются в лицензионном соглашении.

Пожалуйста, попробуйте и посмотрите, исчезнет ли ваша проблема. Если нет, возможно, потратьте некоторое время на запросы к базе данных ошибок WiX.


WiX bug-tracker возле хитов:

Другие вопросы по тегам