Спасибо, всё получилось.
Создание инсталлера
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Создание инсталлера
В дополнение.
Как известно, инсталлятор не поддерживает русские символы в диалогах. Но это не совсем так. На самом деле символы русского алфавита самим инсталлятором... воспроизводятся. Но в билдере сохранить русские символы в читаемой кодировке невозможно.
В инсталляторе диалоги хранятся в файле builds\<имя проекта>\Volume\supportfiles\customResource0009.dll Как видно из названия, это файл ресурсов. И действительно, в конце этого файла лежат все текстовые константы, которые задаются в билдере. Самое интересное, что текстовые ресурсы хранятся в формате UTF-16 (младший байт первый). Однако русские символы там хранятся в виде <Код Win-1251>, <0x00>
Решение в лоб: Текст сохраняется в блокноте как файл в формате UTF-16 LE. Оба файла открываются в HEX редакторе и содержимое dll заменяется побайтно на строку из текстового файла, исключая начальные FF FE
Решение элегантное: запускать VI, автоматически замещающее русские символы в кодировке Win-1251 на UTF-16 без изменения размера. Но пока такого нет.
Либо использовать редактор ресурсов.
Как известно, инсталлятор не поддерживает русские символы в диалогах. Но это не совсем так. На самом деле символы русского алфавита самим инсталлятором... воспроизводятся. Но в билдере сохранить русские символы в читаемой кодировке невозможно.
В инсталляторе диалоги хранятся в файле builds\<имя проекта>\Volume\supportfiles\customResource0009.dll Как видно из названия, это файл ресурсов. И действительно, в конце этого файла лежат все текстовые константы, которые задаются в билдере. Самое интересное, что текстовые ресурсы хранятся в формате UTF-16 (младший байт первый). Однако русские символы там хранятся в виде <Код Win-1251>, <0x00>
Решение в лоб: Текст сохраняется в блокноте как файл в формате UTF-16 LE. Оба файла открываются в HEX редакторе и содержимое dll заменяется побайтно на строку из текстового файла, исключая начальные FF FE
Решение элегантное: запускать VI, автоматически замещающее русские символы в кодировке Win-1251 на UTF-16 без изменения размера. Но пока такого нет.
Либо использовать редактор ресурсов.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение