Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

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

Аватара для 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] - Скачать;


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

Отправлено: 19:06, 28-03-2013

 

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


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

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


Госопда!
А как можно сделать, чтобы установщик запоминал какие компоненты пользователь выбрал при прошлой установке? Т.е. если установщик запущен еще раз, то галочки на выбранных компонентах оставались.... только так, чтобы фаил uninstall не создавался... кто-то говорил, что это можно сделать в ini. Может кто подсказать?

Отправлено: 15:23, 08-10-2013 | #1211



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

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


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


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

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


Подскажите пожалуйста. Создал новую кнопку [(Button) далее] но она не реагирует, что бы на следующию страницу переходило как прописать чтобы она работала? Заранее благодарю

Отправлено: 16:59, 08-10-2013 | #1212


Старожил


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

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


Антон_Мураткин@vk
читать дальше »
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
var
ButtonNext: TNewButton;

procedure ButtonNextClick(Sender: TObject);
begin
WizardForm.NextButton.OnClick(nil);
end;

procedure InitializeWizard();
begin
ButtonNext := TNewButton.Create(WizardForm);
with ButtonNext do
begin
Parent := WizardForm;
Left := ScaleX(56);
Top := ScaleY(325);
Width := ScaleX(75);
Height := ScaleY(25);
Caption := 'Далее';
OnClick := @ButtonNextClick;
end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:24, 08-10-2013 | #1213


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


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

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


vint56, А можно вот в этом скрипте вставить чтобы кнопки работали

[code]
Код: Выделить весь код
{ RedesignWizardFormBegin } // Не удалять эту строку!
// Не изменять эту секцию. Она создана автоматически.
var
  NewButton1: TNewButton;
  NewButton2: TNewButton;
  NewButton3: TNewButton;

procedure RedesignWizardForm;
begin
  with WizardForm.WelcomeLabel2 do
  begin
    Height := ScaleY(127);
  end;

  { NewButton1 }
  NewButton1 := TNewButton.Create(WizardForm);
  with NewButton1 do
  begin
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(312);
    Top := ScaleY(280);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Caption := 'Далее';
  end;

  { NewButton2 }
  NewButton2 := TNewButton.Create(WizardForm);
  with NewButton2 do
  begin
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(416);
    Top := ScaleY(280);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Caption := 'Отмена';
  end;

  { NewButton3 }
  NewButton3 := TNewButton.Create(WizardForm);
  with NewButton3 do
  begin
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(208);
    Top := ScaleY(280);
    Width := ScaleX(75);
    Height := ScaleY(25);
    Caption := 'Назад';
  end;

  NewButton1.TabOrder := 2;
  NewButton2.TabOrder := 3;
  NewButton3.TabOrder := 4;

{ ReservationBegin }
  // Вы можете добавить ваш код здесь.

{ ReservationEnd }
end;
// Не изменять эту секцию. Она создана автоматически.
{ RedesignWizardFormEnd } // Не удалять эту строку!

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;
Или кто нибудь помогите пожалуйста.

Отправлено: 18:56, 08-10-2013 | #1214


Аватара для habib2302

Ветеран


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

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


Доброе время суток. Мне когда то давали скрипт на удаление настроек/сохранок программ/игр http://forum.oszone.net/post-2165899.html#post2165899 и никакого сообщения нету на удаление

Отправлено: 19:09, 08-10-2013 | #1215


Старожил


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

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


Антон_Мураткин@vk

читать дальше »
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
var
ButtonNext: TNewButton;
ButtonBack: TNewButton;
ButtonCancel: TNewButton;


procedure ButtonNextClick(Sender: TObject);
begin
WizardForm.NextButton.OnClick(nil);
end;

procedure ButtonBacktClick(Sender: TObject);
begin
WizardForm.BackButton.OnClick(nil);
end;

procedure ButtonCanceltClick(Sender: TObject);
begin
WizardForm.CancelButton.OnClick(nil);
end;

procedure InitializeWizard();
begin
with WizardForm.WelcomeLabel2 do
begin
Height := ScaleY(127);
end;

ButtonNext := TNewButton.Create(WizardForm);
with ButtonNext do
begin
Parent := WizardForm.WelcomePage;
Left := ScaleX(312);
Top := ScaleY(280);
Width := ScaleX(75);
Height := ScaleY(25);
Caption := 'Далее';
OnClick := @ButtonNextClick;
end;

ButtonCancel := TNewButton.Create(WizardForm);
with ButtonCancel do
begin
Parent := WizardForm.WelcomePage;
Left := ScaleX(416);
Top := ScaleY(280);
Width := ScaleX(75);
Height := ScaleY(25);
Caption := 'Отмена';
OnClick := @ButtonCanceltClick;
end;

ButtonBack := TNewButton.Create(WizardForm);
with ButtonBack do
begin
Parent := WizardForm.WelcomePage;
Left := ScaleX(208);
Top := ScaleY(280);
Width := ScaleX(75);
Height := ScaleY(25);
Caption := 'Назад';
OnClick := @ButtonBacktClick;
end;
end;


Все работает habib2302 а ты правильно указал путь сохранений
читать дальше »
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
case CurUninstallStep of
usPostUninstall:
if DirExists(AddBackslash(ExpandConstant('{userdocs}')) + 'Мои игры\The Saboteur™\Сохранения') then
begin
if MsgBoxEx(0, 'Удалить сохранения игры находящиеся по адресу:' + #13#13 + AddQuotes(AddBackslash(ExpandConstant('{userdocs}')) + 'Мои игры\The Saboteur™\Сохранения'), 'Удаление сохранений', $00000004 or $00000020, 0, 0) = IDYES then
DelTree(AddBackslash(ExpandConstant('{userdocs}')) + 'Мои игры\The Saboteur™\Сохранения', True, True, True);
end;
end;
end;

Последний раз редактировалось vint56, 08-10-2013 в 19:50.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:43, 08-10-2013 | #1216


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


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

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


vint56, Благодарю! Но почему то только всё это на первой страницы находится. А мне надо что бы кнопки были так же как на стандартном сетапе (инсталяторе) Есть кнопки стандартные а мне надо же такие только ещё и в другом месте

Последний раз редактировалось Антон_Мураткин@vk, 08-10-2013 в 22:38.


Отправлено: 22:33, 08-10-2013 | #1217


SHVtYW4=


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

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


habib2302, У меня валяются такие варианты
Вариант 1

Код: Выделить весь код
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usDone then
begin
if DirExists(ExpandConstant('{userdocs}\Game')) then
begin
if MsgBox('Удалить сохраненные игры?',mbconfirmation, mb_yesno) = IDYES then
begin
DelTree(ExpandConstant('{userdocs}\Game'), True, True, True);
end;
end;
end;
end;
Вариант 2
Код: Выделить весь код
[Registry]
Root: HKLM; SubKey: SOFTWARE\My\Game; ValueType: string; ValueName: PathGame; ValueData: {app}; Flags: uninsdeletekey

[Code]
 procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var ResultStr:String;
begin
if CurUninstallStep=usPostUninstall then
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Chuvakstepan\Spider-man3', 'UnInstConfirm', ResultStr)
if DirExists(ExpandConstant('{userdocs}')+'\Game') then
if MsgBox('Удалить сохраненные игры',mbconfirmation, mb_YesNo) = IDYES then
begin
if not DelTree(ExpandConstant('{userdocs}')+'\Game', True, True, True)
then
MsgBox('Папка не удалена!' #13#13 'Папка не существует или задействована.', mbError, MB_OK);
end;
end;
end;


Цитата habib2302:
никакого сообщения нету на удаление »
А ты на (ExpandConstant('{userdocs}\Game') обращал внимание, совпадает с расположением твоих сохранений?

Последний раз редактировалось Nordek, 08-10-2013 в 23:14.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:07, 08-10-2013 | #1218


SHVtYW4=


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

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


Цитата Антон_Мураткин@vk:
Но почему то только всё это на первой страницы »
Обрати внимание на Parent
У тебя сейчас
Код: Выделить весь код
Parent := WizardForm.WelcomePage;
А ты хочешь наверное на основную форму перенести?
Тогда так
Код: Выделить весь код
Parent := WizardForm;

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 23:30, 08-10-2013 | #1219


Старожил


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

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


Антон_Мураткин@vk вот так
читать дальше »
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
var
ButtonNext: TNewButton;
ButtonBack: TNewButton;
ButtonCancel: TNewButton;


procedure ButtonNextClick(Sender: TObject);
begin
WizardForm.NextButton.OnClick(nil);
end;

procedure ButtonBacktClick(Sender: TObject);
begin
WizardForm.BackButton.OnClick(nil);
end;

procedure ButtonCanceltClick(Sender: TObject);
begin
WizardForm.CancelButton.OnClick(nil);
end;

procedure InitializeWizard();
begin
with WizardForm.WelcomeLabel2 do
begin
Height := ScaleY(127);
end;

with WizardForm do
begin
ClientHeight := ScaleY(390);
end;

ButtonNext := TNewButton.Create(WizardForm);
with ButtonNext do
begin
Parent := WizardForm;
Left := ScaleX(317);
Top := ScaleY(359);
Width := ScaleX(80);
Height := ScaleY(23);
Caption := 'Далее';
OnClick := @ButtonNextClick;
end;

ButtonCancel := TNewButton.Create(WizardForm);
with ButtonCancel do
begin
Parent := WizardForm;
Left := ScaleX(407);
Top := ScaleY(359);
Width := ScaleX(80);
Height := ScaleY(23);
Caption := 'Отмена';
OnClick := @ButtonCanceltClick;
end;

ButtonBack := TNewButton.Create(WizardForm);
with ButtonBack do
begin
Parent := WizardForm;
Left := ScaleX(237);
Top := ScaleY(359);
Width := ScaleX(80);
Height := ScaleY(23);
Caption := 'Назад';
OnClick := @ButtonBacktClick;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
ButtonBack.Show;
case CurPageID of
wpWelcome: begin
ButtonBack.Hide;
end;
end;
end;

Отправлено: 23:58, 08-10-2013 | #1220



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход