Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 7]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:

Показать/скрыть: Ссылки на примеры скриптов:

Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

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

Отправлено: 11:48, 10-03-2014

 

Аватара для Dodakaedr

Ветеран


Сообщения: 863
Благодарности: 262

Профиль | Отправить PM | Цитировать


Цитата AlekseyPopovv:
И так пробовал. Не получается. Пробовал по всякому: »
Тогда без скрипта здесь ничего не решить... И еще вопрос возник: ваши строки при удалении удаляются?

-------
Inno Setup 5 Ultra Unicode


Отправлено: 21:10, 22-09-2014 | #1601



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для ROMKA-1977

Пользователь


Сообщения: 77
Благодарности: 2

Профиль | Отправить PM | Цитировать


Помогите пожалуйста.

Настранице SelectDirPage рописал код кастомной кнопки "Обзор"

Необходимо настроить также кнопку "Обзор" на странице SelectProgramGroupPage

читать дальше »

#define AppName "MyProg"

[Setup]
SourceDir=.
OutputDir=Setup
AppName=MyProg
AppVerName=MyProg
DefaultDirName={pf}\MyProg
DefaultGroupName=MyProg
OutputBaseFilename=Setup

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Files]
Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs;

[Icons]
Name: {group}\MyProg; Filename: {app}; WorkingDir: {app}

[CustomMessages]
russian.RestoreButton=Сброс

[code]
var
BrowseForm: TSetupForm;
DirTreeView: TFolderTreeView;
Edit: TNewEdit;

procedure DirFolderChange(Sender: TObject);
begin
if DirTreeView.Directory <> WizardForm.DirEdit.Text then
Edit.Text := AddBackslash(DirTreeView.Directory) + '{#SetupSetting("AppName")}' else
Edit.Text := DirTreeView.Directory;
end;

procedure BrowseForm_Buttons_OnClick(Sender: TObject);
begin
case TButton(Sender).Tag of
15: Edit.Text := RemoveBackslashUnlessRoot(ExpandConstant('{#SetupSetting("DefaultDirName")}'));

16: begin
DirTreeView.CreateNewDirectory(SetupMessage(msgNewFolderName));
Edit.Text := AddBackslash(DirTreeView.Directory) + '{#SetupSetting("AppName")}';
end;

17: if Edit.Text <> WizardForm.DirEdit.Text then WizardForm.DirEdit.Text := Edit.Text;
end;
end;

procedure BrowseClick(Sender: TObject);
begin
BrowseForm := CreateCustomForm();
with BrowseForm do
begin
Width := ScaleX(413);
Height := ScaleY(361);
Caption := SetupMessage(msgBrowseDialogTitle);
Position := poScreenCenter;

with TLabel.Create(nil) do
begin
SetBounds(ScaleX(16), ScaleY(12), ScaleX(207), ScaleY(16));
Caption := SetupMessage(msgBrowseDialogLabel);
Parent := BrowseForm;
Font.Size := 8;
end;

DirTreeView := TFolderTreeView.Create(nil)
with DirTreeView do
begin
SetBounds(ScaleX(16), ScaleY(64), ScaleX(375), ScaleY(225));
OnChange := @DirFolderChange;
Parent := BrowseForm;
end;

Edit := TNewEdit.Create(nil);
with Edit do
begin
SetBounds(ScaleX(16), ScaleY(36), ScaleX(376), ScaleY(21));
Text := DirTreeView.Directory;
Parent := BrowseForm;
Font.Color := clWindowText;
end;

with TButton.Create(nil) do
begin
SetBounds(ScaleX(16), ScaleY(301), ScaleX(90), ScaleX(23));
Parent := BrowseForm;
Caption := SetupMessage(msgButtonCancel);
ModalResult := mrCancel;
end;

with TButton.Create(nil) do
begin
SetBounds(ScaleX(111), ScaleY(301), ScaleX(90), ScaleY(23));
Parent := BrowseForm;
Caption := ExpandConstant('{cm:RestoreButton}');
Tag := 15;
OnClick := @BrowseForm_Buttons_OnClick;
end;

with TButton.Create(nil) do
begin
SetBounds(ScaleX(206), ScaleY(301), ScaleX(90), ScaleY(23));
Parent := BrowseForm;
Caption := SetupMessage(msgButtonNewFolder);
Tag := 16;
OnClick := @BrowseForm_Buttons_OnClick;
end;

with TButton.Create(nil) do
begin
SetBounds(ScaleX(301), ScaleY(301), ScaleX(90), ScaleY(23));
Parent := BrowseForm;
Caption := SetupMessage(msgButtonOK);
Tag := 17;
OnClick := @BrowseForm_Buttons_OnClick;
ModalResult := mrOk;
end;

DirTreeView.ChangeDirectory(AddBackslash(WizardForm.DirEdit.Text), True);
ShowModal;
Free;
end;
end;

var
TDV: TFolderTreeView;
TFV: TStartMenuFolderTreeView;
OldEvent_NoIconsCheckClick: TNotifyEvent;

procedure TDVOnChange(Sender: TObject);
begin
WizardForm.DirEdit.Text:= AddBackslash(TDV.Directory)+'MyApp';
end;

procedure TFVOnChange(Sender: TObject);
begin
WizardForm.GroupEdit.Text:= AddBackslash(TFV.Directory)+'MyApp';
end;

procedure NoIconsCheckClick(Sender: TObject);
begin
OldEvent_NoIconsCheckClick(Sender);
TFV.Enabled := not WizardForm.NoIconsCheck.Checked;
end;

procedure InitializeWizard();
begin
TDV:= TFolderTreeView.Create(WizardForm);
TDV.Top:= WizardForm.DirEdit.Top+28;
TDV.Width:= 417;
TDV.Height:= 100;
TDV.OnChange:= @TDVOnChange;
TDV.Parent:= WizardForm.SelectDirPage;

TFV:= TStartMenuFolderTreeView.Create(WizardForm);
TFV.Top:= WizardForm.GroupEdit.Top+28;
TFV.Width:= 417;
TFV.Height:= 100;
TFV.SetPaths(ExpandConstant('{userprograms}'),ExpandConstant('{commonprograms}'),ExpandConstant('{us erstartup}'),ExpandConstant('{commonstartup}'));
TFV.OnChange:= @TFVOnChange;
TFV.Parent:= WizardForm.SelectProgramGroupPage;

OldEvent_NoIconsCheckClick := WizardForm.NoIconsCheck.OnClick;
WizardForm.NoIconsCheck.OnClick := @NoIconsCheckClick;

WizardForm.DirBrowseButton.Hide;

with TButton.Create(nil) do
begin
Parent := WizardForm.SelectDirPage;
SetBounds(WizardForm.DirBrowseButton.Left, WizardForm.DirBrowseButton.Top, WizardForm.DirBrowseButton.Width, WizardForm.DirBrowseButton.Height - ScaleY(1));
Caption := SetupMessage(msgButtonBrowse);
OnClick := @BrowseClick;
end;
end;

Последний раз редактировалось ROMKA-1977, 23-09-2014 в 14:20.


Отправлено: 21:24, 22-09-2014 | #1602


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата Kashtan007:
Все еще не разобрался, поэтому повторяю свой вопрос. »
Kashtan007,
читать дальше »

Код: Выделить весь код
[Setup]
AppName=test2
AppVerName=test2
DefaultDirName=D:\test

[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl

[CustomMessages]
ru.DeleteOldMods=Удалить все старые моды
ru.CreateBackupOldMods=Сохранить бекап старых модов
ru.DeletingOldMods=Удаление старых модов...
ru.RestoringOldMods=Восстановление старых модов...

[Tasks]
Name: deleteoldmods; Description: {cm:DeleteOldMods}
Name: deleteoldmods\createbackupoldmods; Description: {cm:CreateBackupOldMods}

[Files]
Source: {app}\res_mods\*; DestDir: {app}\ModPack\BackUp\res_mods; Flags: external createallsubdirs recursesubdirs skipifsourcedoesntexist; Tasks: deleteoldmods\createbackupoldmods
Source: {app}\path.file; DestDir: {app}\ModPack\OriginalFiles; Flags: external skipifsourcedoesntexist

[Run]
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\0.9.2"" & md ""{app}\res_mods\0.9.2"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\xvm"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods

[UninstallRun]
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\BackUp\res_mods"" ""{app}\res_mods\"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Tasks: deleteoldmods\createbackupoldmods
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\OriginalFiles\path.file"" ""{app}\"""; Flags: runhidden
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:38, 22-09-2014 | #1603


Аватара для Dodakaedr

Ветеран


Сообщения: 863
Благодарности: 262

Профиль | Отправить PM | Цитировать


Подскажите как записать такие данные в секции [Registry]?
читать дальше »
Код: Выделить весь код
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\XXX]

[HKEY_CURRENT_USER\Software\XXX\SETTINGS]
"Size"=hex:50,05,00,00
"Setting"=hex:87,85,c8,f3,2d,8f,4e,4f,90,eb,19,60,6a,e1,87,55,ff,b9,ce,f8,98,\
  1f,53,6f,d1,fc,fd,5c,17,fb,53,2d,b9,bb,2f,25,13,cc,d5,3e,45,24,83,9a,b9,77,\
  06,39,fb,10,89,6f,59,07,90,ef,7a,7f,e0,8e,e9,80,3d,01,b6,a9,ac,d1,3c,58,62,\
  66,1a,f9,9a,2d,70,8b,82,76,8f,5b,3a,4f,9a,e8,18,10,d0,61,15,52,10,a6,ff,ae,\
  55,7f,2d,6c,a5,01,22,29,0a,fc,43,e6,3a,1a,4c,a7,24,ca,2f,ab,ad,a6,6e,9a,f4,\
  17,b6,27,54,9d,ae,59,33,82,28,a7,c9,4f,43,2f,ff,b4,13,35,7f,c1,07,f2,45,7b,\
  72,17,dc,28,b3,9c,c4,85,c9,30,f4,d8,7a,f0,bc,58,b2,d5,08,2d,26,93,24,80,6d,\
  99,16,7c,eb,9f,45,83,c7,5e,b3,4d,d8,af,f9,aa,35,d3,7d,51,6f,03,45,bf,47,70,\
  5c,82,57,cd,d7,4a,d5,57,3f,34,c5,f4,8f,df,c3,24,a4,72,ea,bb,d1,55,1c,10,49,\
  8b,03,01,7b,82,e9,40,38,d9,23,e3,71,7e,9e,4e,d9,53,09,88,06,fc,fc,bc,5e,90,\
  db,9a,b5,e8,81,b1,57,cd,0a,81,d8,4f,7e,1b,a8,e1,b9,8e,48,ba,f8,ec,ba,a8,fd,\
  ae,0c,27,d6,3f,1e,70,7d,19,8c,03,ea,0f,24,d0,ed,8b,2b,ad,b5,85,33,fa,ef,dc,\
  90,ae,36,eb,63,44,61,db,a7,b2,c0,7c,11,32,53,23,49,9b,c1,5f,ea,95,4c,c2,08,\
  11,b7,8b,57,3a,42,6b,32,1c,11,0b,02,c7,70,5d,eb,1a,5c,fb,6f,ac,5d,84,23,33,\
  72,53,38,17,f5,ae,de,00,66,17,a4,0d,dd,c6,b2,ab,79,18,bc,3f,62,69,5a,17,68,\
  5c,40,e1,f8,8e,16,66,e8,71,d4,87,18,cb,61,a0,a2,d7,ba,67,43,75,88,36,2a,91,\
  c8,70,af,3f,85,ef,a8,c1,fb,48,ea,a8,59,f3,f6,51,04,fc,21,85,85,c2,e6,98,7f,\
  36,31,fb,7a,9d,0b,01,a6,b5,82,2b,29,b3,9d,be,75,47,ab,01,9f,32,c6,ae,fa,26,\
  12,f3,48,65,0f,df,e3,0f,07,a8,98,a6,47,f5,08,7c,71,24,bd,3c,6c,24,f4,24,e9,\
  5c,8c,21,e9,f6,a0,a6,80,9a,5c,05,2e,5e,7d,40,da,49,55,6b,40,6a,8e,5f,73,1d,\
  5c,6a,9b,1a,93,5a,ef,83,12,ba,05,b2,44,04,81,21,57,8b,3c,33,17,90,98,db,49,\
  14,74,89,71,dc,d0,1b,ea,a9,eb,c0,6a,d8,05,48,cd,72,a0,37,9f,3e,e6,76,e3,8e,\
  61,e1,41,2b,37,fc,00,24,1e,1a,44,ba,a8,57,b2,91,54,00,f9,69,f1,48,f7,97,46,\
  4c,ba,5b,c5,20,2f,77,a4,d7,15,c1,ac,95,49,53,78,9b,b1,a3,b5,a3,48,2a,4a,9f,\
  d2,ce,49,ae,ad,12,1f,5c,27,dc,47,20,7d,18,ae,a3,df,ac,fe,8f,ab,31,f7,1d,c2,\
  d2,c9,16,c6,eb,6c,9e,2a,43,a3,63,a4,27,6d,fb,1f,eb,57,31,7c,93,0b,4d,19,51,\
  e6,4e,55,c0,7e,e3,90,7b,da,6b,d0,d5,6a,ad,98,ab,ef,12,4a,4a,f6,fd,0c,6c,14,\
  0d,a6,6a,86,d6,07,cd,cb,99,75,93,4f,d1,41,f8,46,a3,4f,8f,82,1e,02,5b,3e,25,\
  c9,d6,5a,95,c1,11,a7,88,2d,6b,4f,c1,eb,c3,77,af,35,e6,9b,f6,6f,d5,1f,62,4b,\
  5c,38,20,1a,f3,b2,6d,b7,48,5e,00,ee,06,98,34,7d,af,a3,00,42,76,40,fa,61,2b,\
  1c,08,e5,f2,bb,bb,b3,03,4a,83,23,34,b2,62,06,45,8e,33,a1,4b,d2,e4,b6,86,49,\
  05,7f,30,a1,92,14,fe,4b,23,ed,95,7e,8e,f0,ef,0d,de,bd,26,bb,29,af,3e,93,86,\
  b9,7b,39,5d,b6,99,e5,2c,6d,73,ec,27,c4,6b,42,09,b5,a9,f9,8b,90,7b,f8,b5,88,\
  54,e7,b4,15,bf,76,ec,c7,89,89,cf,82,16,6d,96,b5,53,95,72,7b,6f,a4,33,cd,88,\
  6f,b3,e9,ac,4d,fe,fe,1a,5f,cc,00,fd,2b,9f,64,fe,08,17,8f,fc,d8,32,5d,61,4e,\
  72,23,d2,81,96,20,0c,66,ba,2e,8c,dc,13,64,23,5b,df,05,00,dc,41,9e,48,0f,9c,\
  0b,1b,10,3e,c6,12,ae,a7,d6,51,4d,54,51,de,38,b6,ca,a1,0b,1f,b8,c3,99,11,b0,\
  f2,4c,21,6e,81,1b,10,15,49,33,51,5f,91,d5,27,92,9a,f7,89,e8,43,56,96,71,96,\
  51,f6,a1,87,70,75,01,12,58,2e,69,6b,99,37,83,8d,57,64,81,03,1f,78,f0,f6,a9,\
  86,04,76,8e,36,cb,e4,4d,a2,b7,fe,3e,1a,e8,9f,fc,fe,23,46,21,cd,aa,92,d8,ae,\
  31,b3,e8,42,04,a3,f3,80,80,cf,3e,d2,36,04,3b,c4,60,56,46,a1,03,4e,6d,86,d1,\
  b6,64,f9,74,59,8e,f2,14,ff,a1,fe,6f,b7,33,11,7b,ea,b0,88,a5,c6,d8,b0,8f,71,\
  71,82,97,c7,62,a6,f4,72,6a,d1,aa,97,45,76,68,bc,ab,c9,fc,de,b3,8f,65,d6,c0,\
  bb,98,24,0e,17,d7,19,8a,27,27,a7,58,ef,38,c2,c1,25,71,cc,0e,7d,33,11,07,ed,\
  f7,55,7a,ca,64,8b,e7,ee,35,14,4d,e5,25,04,db,69,54,84,d7,8a,45,f2,b0,80,91,\
  a9,3f,77,91,64,f2,48,64,5b,16,79,78,bd,ae,5a,24,34,06,09,53,b1,f8,b0,e1,bc,\
  1d,cf,4d,7d,48,3a,2e,d0,be,53,82,62,12,39,82,64,dd,91,2a,62,f7,45,c8,65,f0,\
  e4,c3,17,12,7c,5c,df,4c,f2,3d,e7,f8,8f,7d,8e,0b,c3,c9,cf,de,75,78,1a,7a,e6,\
  94,07,f5,75,70,95,8f,e4,8c,72,ff,c7,72,59,0f,7d,99,6b,69,5b,a8,13,15,57,44,\
  74,ce,ef,a0,43,87,0c,11,18,8e,f4,06,8a,08,19,00,79,50,bf,7a,e7,f5,c9,e4,16,\
  ed,80,aa,c3,87,91,3e,0f,4d,9a,97,d3,7c,44,60,52,84,0d,45,63,b3,b7,8e,df,cc,\
  e9,55,ee,32,e6,a7,f7,f5,7d,c8,16,bb,20,b0,98,0c,8a,2d,90,61,e0,bf,32,db,06,\
  cb,19,b9,54,7b,ab,7c,5c,04,db,bb,9e,b5,53,f6,bc,71,3c,d3,05,d4,46,31,09,2b,\
  cd,5d,29,6b,af,80,a6,ca,3a,8e,c1,de,12,91,a9,7e,5f,f4,4e,59,4e,cb,e6,ff,0f,\
  eb,c8,7e,c4,7a,c6,42,d8,53,97,0c,1e,ab,67

-------
Inno Setup 5 Ultra Unicode


Отправлено: 22:07, 22-09-2014 | #1604


Пользователь


Сообщения: 119
Благодарности: 0

Профиль | Отправить PM | Цитировать


El Sanchez, спасибо огромное все работает просто отлично)
Возможно ли переместить чекбоксы на страницу каталога? Так как на странице Tasks у меня другие компоненты и не хотелось бы их совмещать.

Единственная проблема, что после удаление файл paths из папки OriginalFiles не возвращается на свое место. И в итоге получается, что файла нету вообще.

Заранее спасибо за ответ!

Последний раз редактировалось Kashtan007, 22-09-2014 в 23:08.


Отправлено: 23:03, 22-09-2014 | #1605


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата Kashtan007:
Возможно ли переместить чекбоксы на страницу каталога? »
Kashtan007, можно. Только каким макаром данные чекбоксы относятся по смыслу к странице выбора директории? Им самое место в задачах.
Цитата Kashtan007:
Единственная проблема, что после удаление файл paths из папки OriginalFiles не возвращается на свое место. »
У меня возвращался. Что в Debug Output при копировании файла из OriginalFiles?
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:01, 23-09-2014 | #1606


Пользователь


Сообщения: 119
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата El Sanchez:
Только каким макаром данные чекбоксы относятся по смыслу к странице выбора директории? Им самое место в задачах. »
El Sanchez, на странице Components у меня модификации, на странице Tasks у меня модификации понижающие пинг. Компонентов больше 50 на каждой из страниц, и если там будет удаление и бекап, то пользователи просто не заметят их среди такого большого количества компонентов. Поэтому самый лучший вариант перенести чекбоксы на страницу каталога.

Цитата El Sanchez:
У меня возвращался. Что в Debug Output при копировании файла из OriginalFiles? »
Немного не понял вопроса.

Последний раз редактировалось Kashtan007, 23-09-2014 в 20:22.


Отправлено: 16:06, 23-09-2014 | #1607


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030

Профиль | Отправить PM | Цитировать


Цитата Kashtan007:
Поэтому самый лучший вариант перенести чекбоксы на страницу каталога. »
Kashtan007, хозяин - барин.
читать дальше »

Код: Выделить весь код
[Setup]
AppName=test2
AppVerName=test2
DefaultDirName=D:\test

[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl

[CustomMessages]
ru.DeleteOldMods=Удалить все старые моды
ru.CreateBackupOldMods=Сохранить бекап старых модов
ru.DeletingOldMods=Удаление старых модов...
ru.RestoringOldMods=Восстановление старых модов...

[Files]
Source: {app}\res_mods\*; DestDir: {app}\ModPack\BackUp\res_mods; Flags: external createallsubdirs recursesubdirs skipifsourcedoesntexist; Check: IsOldMods('CreateBackupOldMods')
Source: {app}\path.file; DestDir: {app}\ModPack\OriginalFiles; Flags: external skipifsourcedoesntexist

[Run]
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\0.9.2"" & md ""{app}\res_mods\0.9.2"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('DeleteOldMods')
Filename: {cmd}; Parameters: "/c rd /s /q ""{app}\res_mods\xvm"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('DeleteOldMods')

[UninstallRun]
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\BackUp\res_mods"" ""{app}\res_mods\"""; StatusMsg: {cm:DeletingOldMods}; Flags: runhidden; Check: IsOldMods('CreateBackupOldMods')
Filename: {cmd}; Parameters: "/c xcopy /ecihry ""{app}\ModPack\OriginalFiles\path.file"" ""{app}\"""; Flags: runhidden

[code]
var
    OldModsListBox: TNewCheckListBox;

///////////////////////////////////////////////
function IsOldMods(const Msg: String): Boolean;
begin
    with OldModsListBox do
        Result := Checked[Items.IndexOf(CustomMessage(Msg))]
end;

//////////////////////////////
procedure CreateSelectDirPage;
var
    rt: TRect;
begin
    OldModsListBox := TNewCheckListBox.Create(WizardForm);
    with OldModsListBox do
    begin
        Parent := WizardForm.SelectDirPage;
        Top := WizardForm.DirEdit.Top + WizardForm.DirEdit.Height + ScaleY(10);
        Width := Parent.ClientWidth;
        BorderStyle := bsNone;
        ParentColor := True;
        ShowLines := False;
        WantTabs := True;
        AddCheckBox(CustomMessage('DeleteOldMods'), '', 0, True, True, True, False, nil);
        AddCheckBox(CustomMessage('CreateBackupOldMods'), '', 1, True, True, False, True, nil);
        rt := ItemRect(ItemCount-1);
        Height := rt.Bottom;
    end;
end;

/////////////////////////////
procedure InitializeWizard();
begin
    CreateSelectDirPage;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:25, 23-09-2014 | #1608


Аватара для AlekseyPopovv

Старожил


Сообщения: 169
Благодарности: 6

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: 7z Reg.7z
(1.9 Kb, 25 просмотров)

Dodakaedr
Так и записать.

Отправлено: 20:55, 23-09-2014 | #1609


Аватара для AlekseyPopovv

Старожил


Сообщения: 169
Благодарности: 6

Профиль | Отправить PM | Цитировать


Dodakaedr
Да, все строки при удалении удаляются!

Отправлено: 20:59, 23-09-2014 | #1610



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34




 
Переход