Условная установка на основе языка с Inno Setup - PullRequest
3 голосов
/ 14 января 2011

Я пытаюсь выполнить условную установку на основе выбранного языка в Inno Setup.

т.е. если выбран английский язык, установите файл en.txt, если выбран итальянский язык, установите файл it.txt и т. д.

Возможно ли это сделать? Я видел, что есть константа {language}, но я не понимаю, как ее использовать для условной установки.

Ответы [ 2 ]

9 голосов
/ 14 января 2011

Какой файл устанавливается на основе выбора языка, всегда условно, просто добавив параметр Languages ​​в запись [Files].

Общие параметры справки Inno Setup:

Языки
Разделенный пробелами список имен языков, сообщающий программе установки, к каким языкам относится запись. Если конечный пользователь выбирает язык из этого списка, запись обрабатывается (например, файл установлен).

Запись без параметра Languages ​​всегда обрабатывается, если другие параметры не говорят, что это не должно быть.

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

Пример:
Языки: en nl

Итак, если вы хотите, чтобы файл был установлен только для английского языка, а другой - только для испанского, другой - для английского и испанского (но не для французского), запись [Files] может выглядеть так:

[Files]
Source: "MyProg-en.chm"; DestDir: "{app}"; Languages: en
Source: "MyProg-es.chm"; DestDir: "{app}"; Languages: es
Source: "x.exe"; DestDir: "{app}"; Languages: en es

Посмотрите на скрипт Languages.iss, включенный в папку примеров установки inno.

3 голосов
/ 13 апреля 2011

Только одна заметка, работает также для раздела реестра. Например

[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "ger"; MessagesFile: "compiler:Languages\German.isl"
Name: "fr"; MessagesFile: "compiler:Languages\French.isl"

[Registry]
Root: HKCR; Subkey: ".tes"; ValueType: string; ValueName: ""; ValueData: "Testing..."; Languages: fr

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...