Я создаю пакет Inno Setup, который установит орфографические словари, которые использует мое приложение. Большинство людей будут устанавливать только один или несколько словарей, поэтому у меня есть два типа установки: Полная и Выборочная. Каждый словарь является подкомпонентом компонента под названием «Словари». (Есть более 20 файлов словарей, для краткости я показываю только два):
[Types]
Name: Full; Description: "Install ALL dictionaries";
Name: Custom; Description: "Select the dictionaries to install"; Flags: IsCustom;
[Components]
Name: Dictionaries; Description: "Spelling dictionaries"; Types: Full;
Name: Dictionaries\EnUK; Description: "English (UK)"; Types: Full;
Name: Dictionaries\EnUS; Description: "English (US)"; Types: Full;
[Files]
Source: "E:\path\English (UK).adm"; DestDir: {app}; Components: Dictionaries\EnUK
Source: "E:\path\English (US).adm"; DestDir: {app}; Components: Dictionaries\EnUS
Чего я хочу достичь:
- Когда пользователь выбирает «Полный», установщик должен автоматически проверить все словари.
- Когда пользователь выбирает «Пользовательский», установщик должен отменить выбор всех словарей.
Вместо этого все словари изначально выбираются в полном режиме и остаются выбранными, когда пользователь выбирает пользовательский режим. Я ожидал, что в последнем случае они будут автоматически отменены, поскольку пользовательский тип не указан ни для одного из компонентов.
Странно, если я вставлю другой тип установки между ними, например «Только английский», в который включены только английские словари, тогда установщик автоматически снимает галочку с 20 других файлов при выборе этого типа. Но он по-прежнему отказывается снимать флажок, когда выбран пользовательский тип.