Скрипты Inno Setup. Помощь и советы [часть 8]

Ответить
 • Просмотры: 27
Аватара пользователя
ZVSRus

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение ZVSRus »

OldGamer,



Остался "последний штрих"

[spoiler]Цитата:[/spoiler]



[Setup]

AppName=My Application

AppVersion=1.5

DefaultDirName={pf}\My Application



[Files]

Source: "compiler:Examples\MyProg.exe"; DestDir: "{app}"; Check: PortableCheck; Flags: ignoreversion

Source: "compiler:Examples\MyProg-x64.exe"; DestDir: "{app}"; Check: InstallerCheck; Flags: ignoreversion



[UninstallDelete]

Type: filesandordirs; Name: "{app}";

Type: filesandordirs; Name: "{localappdata}\папка на удаление";

Type: filesandordirs; Name: "{userappdata}\папка на удаление";



Код: Выделить всё


[/b]var

  ComponentPage   : TWizardPage;

  InstallGroupBox : TNewGroupBox;

  Installer       : TNewRadioButton;

  Portable        : TNewRadioButton;



function InstallerCheck: Boolean;           

 begin                                      

   Result := Installer.Checked;

 end;                                       



function PortableCheck: Boolean;           

 begin                                      

   Result := Portable.Checked;

 end;                                       



procedure [b]InitializeWizard[/b]();

begin

  ComponentPage := CreateCustomPage(wpWelcome, 'Выбор типа установки', 'Выберите тип установки');



  { InstallGroupBox }

  InstallGroupBox := TNewGroupBox.Create(WizardForm);

  with InstallGroupBox do

  begin

    Parent := ComponentPage.Surface;

    SetBounds(ScaleX(0),ScaleY(0),ScaleX(210),ScaleY(60));

    Caption := 'Выбор типа установки:';

  end;



  { Installer }

  Installer := TNewRadioButton.Create(WizardForm);

  with Installer do

  begin

    Parent := InstallGroupBox;

    SetBounds(ScaleX(5),ScaleY(14),ScaleX(195),ScaleY(17));

    Caption := 'Установка обычной версии';

    Checked := True;

  end;



  { Portable }

  Portable := TNewRadioButton.Create(WizardForm);

  with Portable do

  begin

    Parent := InstallGroupBox;

    SetBounds(ScaleX(5),ScaleY(36),ScaleX(195),ScaleY(17));

    Caption := 'Распаковка портативной версии';

  end;

end;
Аватара пользователя
LagunaFAN

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение LagunaFAN »

Цитата postal1703:



т.е нужно указать файлы которые деинсталятор будит обходить стороной.
Скрипты Inno Setup. Помощь и советы [часть 8]




Используйте флаг uninsneveruninstall



Пример:



Код:

Код: Выделить всё

[Files]
Source: MyProg.exe; DestDir: {app}; Flags: uninsneveruninstall
Аватара пользователя
El Sanchez

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение El Sanchez »

Цитата TheLeon:



можно ли на финишной странице установщика сделать пункт, который удаляет файлы в определённых папках?
Скрипты Inno Setup. Помощь и советы [часть 8]




Пример очистки локальной папки Temp, для удаления файлов используйте вместо команды DelTree команду DeleteFile:



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[code]
var
DelTmp: TNewCheckBox;
function DelTmpCheck(): boolean;
begin
  result := DelTmp.Checked;
end;
procedure InitializeWizard();
begin
  DelTmp := TNewCheckBox.Create(WizardForm);
  DelTmp.Parent := WizardForm.FinishedPage;
  DelTmp.Caption := 'Очистить папку Temp';
  DelTmp.SetBounds(ScaleX(WizardForm.RunList.Left), ScaleY(WizardForm.RunList.Top), ScaleX(140), ScaleY(15));
  DelTmp.Checked := true;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
    ssDone:
      begin
        if DelTmpCheck then
          begin
            DelTree(ExpandConstant('{localappdata}\Temp'), false, true, true);
          end;
      end;
  end;
end;
Аватара пользователя
neorom

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение neorom »

Ищу скрипт от dead-space-2-fenixx-ot-vasyakrn буду очень благодарен за помощь
Аватара пользователя
neorom

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение neorom »

ребята помогите имеется несколько function InitializeSetup(): Boolean;

как это вынести
Аватара пользователя
pollipen

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение pollipen »

Цитата TheLeon:



белый фон кода закрывает секцию [run]. Да, и как мне передвинуть текст немного правее
Скрипты Inno Setup. Помощь и советы [часть 8]




Замените одну строку в секции Code (процедура InitializeWizard):



Код:

Код: Выделить всё

  DelTmp.SetBounds(ScaleX(WizardForm.RunList.Left), ScaleY(WizardForm.RunList.Top), ScaleX(140), ScaleY(15));

на эти строки:



Код:

Код: Выделить всё

  DelTmp.Left := ScaleX(180);
  DelTmp.Top := ScaleY(155);
  DelTmp.Width := ScaleX(300);
  DelTmp.Height := ScaleY(15);

При необходимости можете поиграться числами (координатами и размерами).
Аватара пользователя
nik1967

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение nik1967 »

Цитата TheLeon:



код накладывается на секцию [run] на финишной странице
Скрипты Inno Setup. Помощь и советы [часть 8]







Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Run]
FileName: "Test.exe"; Description: "бла-бла"; Flags: postinstall
[code]
var
DelTmp: TNewCheckBox;
function DelTmpCheck(): boolean;
begin
  result := DelTmp.Checked;
end;
procedure InitializeWizard();
begin
  WizardForm.RunList.Height := ScaleY(WizardForm.RunList.Height-100); //здесь указываем ширину RunList
  DelTmp := TNewCheckBox.Create(WizardForm);
  DelTmp.Parent := WizardForm.FinishedPage;
  DelTmp.Caption := 'Очистить папку Temp';
  DelTmp.SetBounds(ScaleX(WizardForm.RunList.Left+4), ScaleY(WizardForm.RunList.Top+WizardForm.RunList.Height+4), ScaleX(140), ScaleY(15)); //здесь указываем расположение чекбокса
  DelTmp.Checked := true;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
  case CurStep of
    ssDone:
      begin
        if DelTmpCheck then
          begin
            DelTree(ExpandConstant('{localappdata}\Temp'), false, true, true);
          end;
      end;
  end;
end;
Аватара пользователя
pollipen

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение pollipen »

парни как убрать вот такое сообщение

Изображение

и дальше продолжала установку
Аватара пользователя
pollipen

Re: Скрипты Inno Setup. Помощь и советы [часть 8]

Сообщение pollipen »

Цитата pollipen:



как сделать папку только для чтения или системную
Скрипты Inno Setup. Помощь и советы [часть 8]






Код:

Код: Выделить всё

[Dirs]
Name: {app}MyFolder; Attribs: readonly system
Ответить

Вернуться в «Автоматическая установка приложений»