Вот упростил страничку с выбором компонентов [more=Код][Setup]
AppName=NSIS
AppVerName=NSIS
DefaultDirName={pf}\NSIS
DefaultGroupName=NSIS
AllowNoIcons=yes
[CustomMessages]
english.ComponentsNSISPage1=Select the components you want to install; clear the components you do not want to%ninstall. Click Next when you are ready to continue.
russian.ComponentsNSISPage1=Выберите компоненты, которые Вы хотите установить; снимите флажки с%nкомпонентов, устанавливать которые не требуется. Нажмите «Далее», когда Вы%nбудете готовы продолжить.
english.ComponentsNSISPage2=Description
russian.ComponentsNSISPage2=Описание
english.ComponentsNSISPage3=Direct the cursor a mouse on name of the component to read his description.
russian.ComponentsNSISPage3=Наведите курсор мыши на название компонента, чтобы прочитать его описание.
english.ComponentsNSISDescription1=My program™
russian.ComponentsNSISDescription1=Моя программа™
english.ComponentsNSISDescription1_1=English version
russian.ComponentsNSISDescription1_1=Английская версия
english.ComponentsNSISDescription1_2=Russian version
russian.ComponentsNSISDescription1_2=Русская версия
english.ComponentsNSISDescription2=Help
russian.ComponentsNSISDescription2=Помощь
english.ComponentsNSISDescription2_1=Documentation
russian.ComponentsNSISDescription2_1=Документация
english.ComponentsNSISDescription2_2=User manual
russian.ComponentsNSISDescription2_2=Руководство пользователя
[LangOptions]
LanguageCodePage=0
[Languages]
Name: english; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Components]
Name: Main; Description: {cm:ComponentsNSISDescription1}; Types: full custom; Flags: fixed
Name: Main\english; Description: {cm:ComponentsNSISDescription1_1}; Flags: exclusive
Name: Main\russian; Description: {cm:ComponentsNSISDescription1_2}; Flags: exclusive
Name: Help; Description: {cm:ComponentsNSISDescription2}; Types: full custom
Name: Help\Documentation; Description: {cm:ComponentsNSISDescription2_1}; Types: full custom
Name: Help\Manual; Description: {cm:ComponentsNSISDescription2_2}; Types: full custom
[Icons]
Name: {group}\NSIS; Filename: MakeNSIS.exe
[Files]
Source: compiler:descctrl.dll; Flags: dontcopy
[Code]
function EnableDesc(ComponentsListHandle, DescLabelHandle: HWND; DescStrings: PChar): BOOL;
external 'enabledesc@files:descctrl.dll stdcall';
function disabledesc(): BOOL;
external 'disabledesc@files:descctrl.dll stdcall';
var
Text: TNewStaticText;
procedure DeinitializeSetup();
begin
disabledesc();
end;
procedure InitializeWizard();
begin
WizardForm.TypesCombo.Visible:=False;
begin
Text:=TNewStaticText.Create(WizardForm);
Text.Left:=ScaleX(0);
Text.Top:=ScaleY(0);
Text.Width:=ScaleX(417);
Text.Height:=ScaleY(0);
Text.AutoSize:=false;
Text.WordWrap:=true;
Text.Caption:=ExpandConstant('{cm:ComponentsNSISPage1}');
WizardForm.ComponentsList.Left:=ScaleX(0);
WizardForm.ComponentsList.Top:=WizardForm.GroupEdit.Top + ScaleY(-31);
WizardForm.ComponentsList.Width:=ScaleX(417);
WizardForm.ComponentsList.Height:=ScaleY(155);
end;
end;[/more]. Посмотрите, почему он тупит, а именно запустив инсталлятор и нажав, отмена он 2-3 секунды чего-то ждет, прежде чем закрыться, только запускать надо не через Inno (тогда нормально) а через *.EXE
И еще вопрос, у меня установка в двух языках анг. и рус. Над окном с компонентами есть надпись типа (Выберите компоненты, которые Вы хотите установить…), в русском она занимает 3 строки, а в английском 2, я сделал, что бы окно было привязано по положению к надписи (поднималось или опускалось) но не могу сделать, что бы оно расширялось, как это сделать.
Добавлено: Genri Цитата: По второму вопросу - сделано только на уровне корневой папки (при первом же вхождении во вложенную выставляется CheckFiles:= True).
Я задавал вопрос, но вы, тогда как раз, похоже, уехали, я все по вашему коду (окно с неудалившемися файлами), что имя не переноситься – бог с ним и так нормально, а вот что бы папки были с верху не только в начальной папке а и в остальных.