Вопрос Бегущая строка в Инсталляторе

Kotuy

Новичок
Здравствуйте!
Подскажите как добавить это родительское окно?

На Parent := Panel1;

Если ставить значение WizardForm в Parent всё нормально. А мне надо перенести в панель
Код:
[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: /q; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(3);
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(2);

[code]
var
  CheckListBox: TNewCheckListBox;

function CheckListBoxChecked(int: integer): boolean;
begin
if (int >= 0) and (int < CheckListBox.ItemCount) then
  Result:= CheckListBox.Checked[int]
else
  Result:= false;
end;

// procedure InitializeWizard();
// begin
// with WizardForm.TasksList do
// begin
//  TreeViewStyle := True;
//  Cursor := crHand;
//  color := clblack;
//  Font.Style:=[fsBold];
//  SetBounds(ScaleX(0),ScaleY(65),ScaleX(200),ScaleY(210));
//  Font.Color:=clWhite;
//end;

  CheckListBox := TNewCheckListBox.Create(WizardForm);
with CheckListBox do
begin
  BorderStyle:= bsNone;
  Cursor := crHand;
  Parent := Panel1;
  TreeViewStyle := false;
  SetBounds(50,120,250,80);
  Font.Name:='Calibri';
  Font.Color:=clblack;
  Font.Height := -13;


  Color:= clRed;
//  ParentColor:= True;

//  Font.Style:=[fsBold];
  WantTabs:= True;

//  ItemHeightFixed := True;
//  HideSelection := True;


  AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True);
  AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
  AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True);
 
Последнее редактирование:

Хамик

Старожил
Kotuy,
Код:
[Setup]
AppName=App
AppverName=App v1.0
DefaultDirName={pf}\App
OutputDir=.

[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: /q; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(3);
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(2);

[code]
var
  CheckListBox: TNewCheckListBox;
  Panel1: TPanel;
 
function CheckListBoxChecked(int: integer): boolean;
begin
if (int >= 0) and (int < CheckListBox.ItemCount) then
  Result:= CheckListBox.Checked[int]
else
  Result:= false;
end;

procedure InitializeWizard();
begin

Panel1 := TPanel.Create(WizardForm);
  with Panel1 do
  begin
    Parent := WizardForm.WelcomePage;
    SetBounds(ScaleX(200), ScaleY(200), ScaleX(210), ScaleY(60));
    BevelOuter := bvNone;
  end;


CheckListBox := TNewCheckListBox.Create(WizardForm)
with CheckListBox do
begin
  BorderStyle:= bsNone;
  Cursor := crHand;
  Parent := Panel1;
  TreeViewStyle := false;
  SetBounds(0,0,250,80);
  Font.Name:='Calibri';
  Font.Color:=clblack;
  Font.Height := -13;
  Color:= clRed;
  WantTabs:= True;

  AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True);
  AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
  AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True);
end;
end;
 

vint56

Ветеран
Проверенный
Kotuy,
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup

[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"

[Files]
;Source: compiler:Examples\Readme.txt; DestDir: {app}\1; Check: IsChecked(1)

[Icons]
//0
Name: "{commondesktop}\Создать ярлык на рабочем столе ct1"; Filename: "{app}\MyProg.exe"; Check: IsChecked(1)
Name: "{commondesktop}\Создать ярлык в Панели быстрого запуска ct1"; Filename: "{app}\MyProg.exe"; Check: IsChecked(2)
Name: "{commondesktop}\Microsoft DirectX ct1"; Filename: "{app}\MyProg.exe"; Check: IsChecked(3)
Name: "{commondesktop}\Microsoft Visual С++ 2005 Redistributable ct1"; Filename: "{app}\MyProg.exe"; Check: IsChecked(4)

Код:
var
  TasksPage,TasksPage2: TWizardPage;
  CheckListBox,CheckListBox2: TNewCheckListBox;
  BorderWidth,BorderWidth2: Integer;
  NewPanel: TPanel;

function IsChecked(const Index: Integer): Boolean;
begin
    Result:= CheckListBox.Checked[Index]
end;

procedure InitializeWizard();
begin
 // TasksPage := CreateCustomPage(wpWelcome, 'Выберите дополнительные задачи', 'Какие дополнительные задачи необходимо выполнить?');

  with WizardForm do
  begin
    AutoScroll := False;
    ClientWidth := ScaleX(952);
  end;

  { NewPanel }
  NewPanel := TPanel.Create(WizardForm);
  with NewPanel do
  begin
    Parent := WizardForm;
    Left := ScaleX(504);
    Top := ScaleY(0);
    Width := ScaleX(441);
    Height := ScaleY(313);
  end;

  CheckListBox := TNewCheckListBox.Create(WizardForm);
  CheckListBox.Parent := NewPanel;
//  CheckListBox.Parent := TasksPage.Surface;
  CheckListBox.SetBounds(ScaleX(0), ScaleY(0), ScaleX(417), ScaleY(210));
  BorderWidth := (CheckListBox.Width-CheckListBox.ClientWidth) div 2;
  CheckListBox.Flat := False;
  CheckListBox.Color := clMenu;
  CheckListBox.BorderStyle := bsNone;
  CheckListBox.WantTabs :=True;

  CheckListBox.AddCheckBoxEx('Дополнитьельные значки', '', 0, False, True, True, True, nil,True);
  CheckListBox.AddCheckBoxEx('Создать ярлык на рабочем столе', '', 1, True, True, True, True, nil,True);
  CheckListBox.AddCheckBoxEx('Создать ярлык в Панели быстрого запуска ', '', 1,True, True, True, True, nil,True);
  CheckListBox.AddCheckBoxEx('Установить дополнительное программное обеспечение', '', 0, True, True, True, True, nil,True);
  CheckListBox.AddCheckBoxEx('Microsoft DirectX', '', 1,True, True, True, True, nil,True);
  CheckListBox.AddCheckBoxEx('Microsoft Visual С++ 2005 Redistributable', '', 1, True, True, True, True, nil,True);
end
[/SPOILER]
 

Kotuy

Новичок
Хамик, Панель прописана в скрипте

Upd. Решение нашёл. Благодарю за помощь.
 
Последнее редактирование:

Kotuy

Новичок
Народ, новая проблема!

Этот код не устанавливает доп.ПО при установки галок.

В чём может быть проблема? Может кто подскажет?

Код:
[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: /q; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(3);
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(2);

[code]
var
  CheckListBox: TNewCheckListBox;

function CheckListBoxChecked(int: integer): boolean;
begin
if (int >= 0) and (int < CheckListBox.ItemCount) then
  Result:= CheckListBox.Checked[int]
else
  Result:= false;
end;

// procedure InitializeWizard();
// begin
// with WizardForm.TasksList do
// begin
//  TreeViewStyle := True;
//  Cursor := crHand;
//  color := clblack;
//  Font.Style:=[fsBold];
//  SetBounds(ScaleX(0),ScaleY(65),ScaleX(200),ScaleY(210));
//  Font.Color:=clWhite;
//end;

  CheckListBox := TNewCheckListBox.Create(WizardForm);
with CheckListBox do
begin
  BorderStyle:= bsNone;
  Cursor := crHand;
  Parent := Panel1;
  TreeViewStyle := false;
  SetBounds(50,120,250,80);
  Font.Name:='Calibri';
  Font.Color:=clblack;
  Font.Height := -13;


  Color:= clRed;
//  ParentColor:= True;

//  Font.Style:=[fsBold];
  WantTabs:= True;

//  ItemHeightFixed := True;
//  HideSelection := True;


  AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True);
  AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
  AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True);
 

Хамик

Старожил
В чём может быть проблема?
либо нет папки redist с файлами либо попробуйте так
Код:
[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: /q; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(1);
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(2);
 

Kotuy

Новичок
Хамик, Папку создал, файлы все положил. Цифры менял в CheckListBoxChecked. Толку ноль

Когда ставлю 1 в CheckListBoxChecked то при установки вылезает ошибка "Установка Дирекса" - Неверная операция командной строки
 

vint56

Ветеран
Проверенный
Kotuy,
[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: /q; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(1);
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(2);

0; AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True);
1; AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
2; AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True);
 

Kotuy

Новичок
vint56, ну это как бы и есть весь скрипт.

Код:
; Скрипт создан через Мастер Inno Setup Script.
; ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!

#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
; Примечание: Значение AppId идентифицирует это приложение.
; Не используйте одно и тоже значение в разных установках.
; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.)
AppId={{DDDA5602-14C2-4999-8A4B-2E92644FE766}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; Примечание: Не используйте "Flags: ignoreversion" для системных файлов

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: /q; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(1);
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(2);

[code]
var
  CheckListBox: TNewCheckListBox;

function CheckListBoxChecked(int: integer): boolean;
begin
if (int >= 0) and (int < CheckListBox.ItemCount) then
  Result:= CheckListBox.Checked[int]
else
  Result:= false;
end;

procedure InitializeWizard();
begin
  CheckListBox := TNewCheckListBox.Create(WizardForm);
with CheckListBox do
begin
  BorderStyle:= bsNone;
  Cursor := crHand;
  Parent := WizardForm;
  TreeViewStyle := false;
  SetBounds(50,175,192,66);
  Font.Name:='Calibri';
  Font.Color:=clRed;
  Font.Height := -14;
//  Color:= clRed;
  WantTabs:= True;
 //  Font.Style:=[fsBold];
0; AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True);
1; AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
2; AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True);
end;
end;
 
Последнее редактирование:

vint56

Ветеран
Проверенный
Kotuy, у меня все устанавливается
убери ключи тихой установки /q и проверь
[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: ; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(1);
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: ; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(2);
 

asterix93

Новичок
vint56, к сожалению та-же ошибка
Попробуй Вот Так

Код:
//Скрипт создан через Мастер Inno Setup Script.
//ИСПОЛЬЗУЙТЕ ДОКУМЕНТАЦИЮ ДЛЯ ПОДРОБНОСТЕЙ ИСПОЛЬЗОВАНИЯ INNO SETUP!

#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"

[Setup]
//Примечание: Значение AppId идентифицирует это приложение.
//Не используйте одно и тоже значение в разных установках.
//(Для генерации значения GUID, нажмите Инструменты | Генерация GUID.)
AppId={{DDDA5602-14C2-4999-8A4B-2E92644FE766}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
//Примечание: Не используйте "Flags: ignoreversion" для системных файлов

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: {src}\Redist\DirectX.exe; Parameters: /q; StatusMsg: Обновление DirectX...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(1);
Filename: {src}\Redist\Vcredist_x64.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++...; Flags: skipifdoesntexist unchecked; Check: CheckListBoxChecked(2);

[code]
var
  CheckListBox: TNewCheckListBox;

function CheckListBoxChecked(int: integer): boolean;
begin
if (int >= 0) and (int < CheckListBox.ItemCount) then
  Result:= CheckListBox.Checked[int]
else
  Result:= false;
end;

procedure InitializeWizard();
begin
  CheckListBox := TNewCheckListBox.Create(WizardForm);
with CheckListBox do
begin
  BorderStyle:= bsNone;
  Cursor := crHand;
  Parent := WizardForm;
  TreeViewStyle := false;
  SetBounds(50,175,192,66);
  Font.Name:='Calibri';
  Font.Color:=clRed;
  Font.Height := -14;
//  Color:= clRed;
  WantTabs:= True;
//  Font.Style:=[fsBold];
AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True);
AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True);
end;
end;
 

Kotuy

Новичок
asterix93, А что изменилось в твоём скрипте? Всё тоже самое вроде как и я выше писал!
 

Kotuy

Новичок
asterix93, Что то я вообще не понял про что ты (причём тут через ; а не //)? Ошибка идёт на 0; - 1; - 2;

0; AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True);
1; AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
2; AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True);
 

vint56

Ветеран
Проверенный
Kotuy,
AddCheckBoxEx('Доп. Программы', '', 1, True, True, False, True, nil, True); // 0 компонент
AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True); // 1 компонент
AddCheckBoxEx('Microsoft Visual C++', '', 1, False, True, False, True, nil, True); // 2 компонент
Покажи скрин ошибки не 0, 1 , 2 А при установки софта что выходит или пропуск
 

Kotuy

Новичок
vint56, При установке вообще не чего не происходит. Устанавливается игра и всё. Специально отдельно ставлю без игры делаю сетуп и ставлю галке установить по, сетуп устанавливается а по нет. И не пишет в установщике что идёт установка по.

Upd. Бред полнейший какой то! Заменил файлы ПО на другие, всё стало устанавливаться.

Благодарю за помощь!
 
Последнее редактирование:
Сверху