Как изменить языковое свойство dll/exe в Windows

Как изменить языковое свойство Windows DLL или EXE? Свойство, о котором я говорю, можно увидеть, если щелкнуть правой кнопкой мыши DLL и перейти в «Свойства» > «Подробности». Что-то из командной строки было бы предпочтительнее.

Фон...

Я пытаюсь избавиться от предупреждения при сборке установочного пакета Windows с помощью WiX. Предупреждение:

LGHT1076: ICE60: файл somedll.dll не является шрифтом, и его версия не является ссылкой на сопутствующий файл. Он должен иметь язык, указанный в столбце «Язык».

Если вы добавите атрибут DefaultLanguage для файла в файле проекта WiX, это изменится на:

LGHT1101: язык по умолчанию «0» использовался для файла «somedll.dll», который не имеет языка. Указание языка, отличного от фактического файла, может привести к непредвиденному поведению версий во время восстановления или установки исправлений. Либо укажите значение для DefaultLanguage, либо поместите язык в информационный ресурс версии, чтобы убрать это предупреждение.

Я действительно не уверен, что означает первое предложенное ими решение ... разве я не просто «указал значение для DefaultLanguage?» Итак, я пробую второе решение, которое, как я предполагаю, является языковым свойством файла? Я собираю somedll.dll из исходного кода, поэтому, если это нужно сделать при сборке, я мог бы это сделать.


person Dave Mateer    schedule 11.01.2011    source источник


Ответы (2)


Язык файла является атрибутом его ресурса versioninfo. WiX считывает его для автоматического заполнения столбцов языка (и версии) в таблице файлов .msi.

person Bob Arnson    schedule 11.01.2011
comment
Вы случайно не знаете, в случае сбоя автозаполнения, как сообщить WiX, каким он должен быть? То есть поместить значение в столбец «Язык», когда оно не может быть сгенерировано автоматически из самого файла, но разрешить пользователю предоставить его? Это похоже на то, что предлагает предупреждение, но, видимо, атрибута DefaultLanguage недостаточно. - person Dave Mateer; 12.01.2011

Поскольку у меня был доступ к источнику, я смог изменить файл ресурсов версии, включив в этом случае язык. Конкретной библиотекой была Qt, исправление можно увидеть в QTBUG-16583.

Все еще не уверен, как это сделать без доступа к источнику.

person Dave Mateer    schedule 21.01.2011
comment
Внешняя ссылка с подробностями более недействительна. - person Greg Domjan; 22.02.2013