Как кодировать специальные символы в строке реестра .vdproj?

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

Я не могу открыть .vdproj, так как для этого требуется VS 2005. Но в тексте это выглядит так, обратите внимание на value:

"Values"
{
    "{ADCFDA98-8FDD-45E4-90BC-E3D20B029870}:_58F50CEB3EC74D5E9E6301A39929D9FE"
    {
    "Name" = "8:Description"
    "Condition" = "8:"
    "Transitive" = "11:FALSE"
    "ValueTypes" = "3:1"
    "Value" = "8:Låter dig söka efter information."
}

После сборки это выглядит следующим образом в сгенерированном файле .msi (просматривается в InstallShield):

введите здесь описание изображения

Шведские буквы перепутаны, и в реестре после установки выглядят одинаково:

введите здесь описание изображения

Как мне обойти это? Есть ли параметр, который я мог бы установить, или кодировку, которую я мог бы использовать, непосредственно в значении vdproj?


person JOG    schedule 19.03.2013    source источник


Ответы (1)


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

Альтернативы, которые я рассмотрел, включали установку Visual Studio 2005, чтобы иметь возможность открывать и редактировать файл vbproj или конвертировать все это в WiX.

person JOG    schedule 19.03.2013
comment
@Hans Passant, набор инструментов WiX позволяет вам установить кодовую страницу окончательного файла MSI, которая решит проблему. - person Rob Mensching; 19.03.2013
comment
@Rob - эта строка закодирована в кодовой странице 65001. Можете ли вы объяснить, что не так с utf-8? - person Hans Passant; 19.03.2013
comment
Установщик Windows на самом деле не поддерживает utf-8 в файлах .msi. Грустно, но верно. - person Rob Mensching; 19.03.2013