Вопрос Выбор компонента

aza

Новичок
Приветствую,кто нибудь может накатать код выбора компонента?И да обязательно пользователь должен выбрать какой нибудь компонент,если не выбирает то не пускает к следующему шагу установки.
 

Kotyarko_O

Новичок
aza, так, как ты изначально написал, вряд ли кто-то бы понял)
Ответ на твой вопрос:
Код:
Function NextButtonClick(CurPageID: Integer): Boolean;
begin
 Result := True;
 case CurPageID of
 wpSelectComponents:
  begin
   if WizardSelectedComponents(False) = '' then
   begin
    MsgBox('Ни один из компонентов не выбран!', mbInformation, MB_OK);
    Result := False;
   end;
  end;
 end;
end;
 

aza

Новичок
Kotyark, тогда второй вопрос.Как добавить выбор компонента?
Вот исходник мой и мои попытка.В итоги выбора компонента нема.
Код:
#define MyAppName "Counter-strike source "
#define MyAppVersion "v86 (3029837)"
#define MyAppPublisher "Steam, Inc."
#define MyAppURL "http://myaza.ru"
#define MyAppExeName "Counter-strike source v86.exe"

[Setup]
; Примечание: Значение AppId идентифицирует это приложение.
; Не используйте одно и тоже значение в разных установках.
; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.)
AppId={{A32503D2-C463-46FA-885A-A5B2CD673667}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=C:\Users\Aza\Desktop
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Files]
Source: "C:\Users\Aza\Desktop\Проект myaza.ru\In\Counter-strike source v86.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Aza\Desktop\Проект myaza.ru\In\AutoUpdater_CSS.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Aza\Desktop\Проект myaza.ru\In\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\Aza\Desktop\Проект myaza.ru\In\rev.ini"; DestDir: "In"; DestName: "rev.ini";MinVersion: 0.0,5.0; Components:Local\rus;Flags: ignoreversion;
Source: "C:\Users\Aza\Desktop\Проект myaza.ru\In\rev2.ini"; DestDir: "In"; DestName: "rev.ini";MinVersion: 0.0,5.0; Components:Local\eng;Flags: ignoreversion;
Source: "C:\Users\Aza\Desktop\Проект myaza.ru\In\rev3.ini"; DestDir: "In"; DestName: "rev.ini";MinVersion: 0.0,5.0; Components:Local\ukr;Flags: ignoreversion;



[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}";MinVersion: 0.0,5.0;
Name: "{group}\Автообновлятор CSS"; Filename: "{app}\AutoUpdater_CSS.exe";MinVersion: 0.0,5.0;
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}";MinVersion: 0.0,5.0;
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; MinVersion: 0.0,5.0;
Name: "{commondesktop}\Автообновлятор CSS"; Filename: "{app}\AutoUpdater_CSS.exe"; Tasks: desktopicon;MinVersion: 0.0,5.0;
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon;MinVersion: 0.0,5.0;

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; MinVersion: 0.0,5.0;
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; MinVersion: 0.0,5.0; OnlyBelowVersion: 0.0,6.01;

[Components]
Name: "Local"; Description: "Язык интерфейса"; Types: "full custom compact"; MinVersion: 0.0,5.0;
Name: "Local\eng"; Description: "English"; Types: "custom"; MinVersion: 0.0,5.0;
Name: "Local\rus"; Description: "Русский"; Types: "full compact"; MinVersion: 0.0,5.0;
Name: "Local\ukr"; Description: "Укр"; Types: "full compact"; MinVersion: 0.0,5.0;



[Types]
Name: "full";Description: "Full installation";  MinVersion: 0.0,5.0;
Name: "compact";Description: "Compact installation";  MinVersion: 0.0,5.0;
Name: "custom";Description: "Custom installation"; MinVersion: 0.0,5.0;



[Languages]
Name: "english"; MessagesFile: "compiler:Languages\English.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
 

Kotyarko_O

Новичок
aza, впишите секцию кода и вставьте туда, то, что я уже приводил выше.
 

aza

Новичок
Kotyark, Ты меня не понял совсем:)))))) Ты реализовал 1 одну часть кода.А мне нужно сделать выбор языка.То есть 3 файла с разными языками,название файла которое отвечает за язык одинаковое.Из этого следует какой выбрал язык,тот и ставит.
 

sergey3695

Ветеран
Модератор
aza,
Код:
if ActiveLanguage=' ' then
а что куда вставить я не понял. про ActiveLanguage в справке есть.
 

aza

Новичок
sergey3695, Не так понял меня:)Хочу сделать типо такой выборки компонентов http://prntscr.com/95j55i
Какой выбираю компонент тот и ставится;)
 

sergey3695

Ветеран
Модератор
aza,
Код:
[Types]
Name: full; Description: Full installation; Flags: iscustom;

[Components]
Name: "Local"; Description: "Язык интерфейса"; Types: full; Flags: fixed;
Name: "Local\eng"; Description: "English"; Types: full; Flags: exclusive;
Name: "Local\rus"; Description: "Русский"; Types: full; Flags: exclusive;
Name: "Local\ukr"; Description: "Укр"; Types: full; Flags: exclusive;

[Languages]
Name: "english"; MessagesFile: "compiler:Languages\English.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
Name: "ukrainian"; MessagesFile: "compiler:Languages\Ukrainian.isl"

[Code]
procedure InitializeWizard();
begin
if ActiveLanguage='english' then
  WizardForm.ComponentsList.Checked[1]:=true;
if ActiveLanguage='russian' then
  WizardForm.ComponentsList.Checked[2]:=true;
if ActiveLanguage='ukrainian' then
  WizardForm.ComponentsList.Checked[3]:=true;
end;
 
Последнее редактирование:

aza

Новичок
sergey3695, спасибо:) А можешь еще проверку подкинуть,чтобы можно было выбрать только 1 компонент,а другие нельзя было.
 

aza

Новичок
sergey3695, Я думаю заранее,мало ли что.
Теперь почему то ставится сразу 3 компонента.Выбираю любой ставиться тот же.
То есть 3 файла одинаковых,только разные языки.
rev.ini-Русский
rev2.ini-Английский
rev3.ini-Украинский

Выбираю к примеру украинский се равно ставится русский.И плюс все эти файлы заливаются,а мне нужно который я выбрал компонент,тот и ставить.
 

Silentman

Новичок
aza, попробуй так
[Types]
Name: full; Description: Full installation; Flags: iscustom;

[Components]
Name: "Local"; Description: "Язык интерфейса";Types: full; Flags: fixed;
Name: "Local\eng"; Description: "Английский"; Types: full; Flags: exclusive;
Name: "Local\rus"; Description: "Русский"; Types: full; Flags: exclusive;
Name: "Local\ukr"; Description: "Украинский"; Types: full; Flags: exclusive;

[Files]
Source: "rev.ini"; Components: Local\eng; DestDir: "{app}"; Flags: ignoreversion
Source: "rev2.ini"; Components: Local\rus; DestDir: "{app}"; Flags: ignoreversion
Source: "rev3.ini"; Components: Local\ukr; DestDir: "{app}"; Flags: ignoreversion
 

XLASER

Новичок
aza, Пробуй так ещё.

[Components]
Name: lang; Description: Язык интерфейса:; Types: full;
Name: lang\eng; Description: Русский; Flags: exclusive
Name: lang\rus; Description: Английский; Flags: exclusive
Name: lang\ukr; Description: Украинский; Flags: exclusive


[Files]
Source: rus.ini; DestDir: {app}\; DestName: rev.ini; Components: lang\eng; Flags: ignoreversion
Source: eng.ini; DestDir: {app}\; DestName: rev2.ini; Components: lang\rus; Flags: ignoreversion
Source: ukr.ini; DestDir: {app}\; DestName: rev3.ini; Components: lang\ukr; Flags: ignoreversion
 

aza

Новичок
XLASER, Да теперь ставится нужный файл,но файлы rus.ini,и тд ставится тоже,а мне это не нужно:)
 

XLASER

Новичок
aza, так ты переименуй под свои все файлы. Или например. Твой файл rev.ini переименуй в rus.ini а на выходе получишь rev.ini.
Лучше так: Всё сделай по пример выше (название файлов).
 

aza

Новичок
XLASER, Дык я так и сделал.Переводится все нормально и ставится нужный перевод,но файлы rus,eng,и тд ставятся тоже.
 
Сверху