Ветеран
Сообщения: 1133
Благодарности: 581
|
Профиль
|
Отправить PM
| Цитировать
Цитата i.Sky:
как прикрутить зависимость от устанавливаемых компонентов »
|
В первом примере, как должно быть, т.е. значения будут перезаписываться.
Второй пример как вы хотели, т.е. просто в зависимости от выбора компонента будет добавлятся ещё одна строка.
1. Вариант
Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Components]
Name: main; Description: Моя программа™; Types: full custom
Name: help; Description: Помощь; Types: full custom
Name: help\documentation; Description: Документация; Types: full custom
Name: help\manual; Description: Руководство пользователя; Types: full custom
[ Code ]
procedure CurStepChanged(CurStep: TSetupStep);
begin
If CurStep=ssDone then
begin
if IsComponentSelected('main') then
SetIniString('Section', 'NAME', '1', ExpandConstant('{app}')+'\main.ini');
if IsComponentSelected('help') then
SetIniString('Section', 'NAME', '2', ExpandConstant('{app}')+'\main.ini');
if IsComponentSelected('help\documentation') then
SetIniString('Section', 'NAME', '3', ExpandConstant('{app}')+'\main.ini');
if IsComponentSelected('help\manual') then
SetIniString('Section', 'NAME', '4', ExpandConstant('{app}')+'\main.ini');
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then
begin
DeleteFile(ExpandConstant('{app}\main.ini'));
end;
end;
2. Вариант
Код:
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Components]
Name: main; Description: Моя программа™; Types: full custom
Name: help; Description: Помощь; Types: full custom
Name: help\documentation; Description: Документация; Types: full custom
Name: help\manual; Description: Руководство пользователя; Types: full custom
[ Code ]
procedure CurStepChanged(CurStep: TSetupStep);
begin
If CurStep=ssDone then
begin
SaveStringToFile(ExpandConstant('{app}')+'\main.ini', '[Section]' + #13, true);
if IsComponentSelected('main') then
SaveStringToFile(ExpandConstant('{app}')+'\main.ini', 'NAME=1' + #13, true);
if IsComponentSelected('help') then
SaveStringToFile(ExpandConstant('{app}')+'\main.ini', 'NAME=2' + #13, true);
if IsComponentSelected('help\documentation') then
SaveStringToFile(ExpandConstant('{app}')+'\main.ini', 'NAME=3' + #13, true);
if IsComponentSelected('help\manual') then
SaveStringToFile(ExpandConstant('{app}')+'\main.ini', 'NAME=4' + #13, true);
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usUninstall then
begin
DeleteFile(ExpandConstant('{app}\main.ini'));
end;
end;
|
-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.
Отправлено: 17:36, 22-01-2009
| #429
|