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

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

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

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

Ветеран


Contributor


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


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

Профиль | Отправить 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] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]
Скрипты Inno Setup. Помощь и советы [часть 4]

Отправлено: 03:49, 21-05-2012

 

Новый участник


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

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


Доброго времени суток, помогите с решением такой задачи:
Как сделать перемещения (Архив содержит уже готовый setup файл софта + в директории есть папка).
Задача после установки софта инсталятор из своей корневой папки копировал в папку в которую установился софт.
Или 2рое решения как научить инсталятор качать файл с фтп или веб сервера и записывать в директорию устанавливаемой программы.

Отправлено: 12:31, 29-06-2012 | #341



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

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


Аватара для Johny777

Ветеран


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

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


Raf-9600,
научился удалять строки из ReadyMemo, но он не удаляет строки типа "Тип установки"
сделал просто
если выбран компонент "Portable"(внутренне название port) и переходим на страницу готовности, то полностью очищаем мемо(!) и вносим свои строки, но без строки говорящей нам о создании папки в меню "Пуск"
короче как ты хотел

читать дальше »
Код: Выделить весь код
[Setup]
AppName=Portable
VersionInfoVersion=5.0
AppVerName=Portable
DefaultDirName={pf}\Portable_Or_Not_Test
DefaultGroupName=The_Most_Beautiful_Group_Name_Ever


[Components]
Name: port; Description: Portable; Types: full custom;

[Icons]
Name: {group}\new\Notepad; Filename: notepad.exe; Components: not port

[code]
function  ShouldSkipPage(PageID: Integer): Boolean;
begin
  if PageID = wpSelectProgramGroup then Result := IsComponentSelected('port');
end;

procedure CurPageChanged(CurPageID: Integer); 
begin
  if (CurPageID = wpReady) and (IsComponentSelected('port')) then
  begin
    with WizardForm.ReadyMemo do
    begin
      Clear;
      Lines.Add(SetupMessage(msgReadyMemoDir) + #13#10 +
                '      ' + WizardForm.DirEdit.Text + #13#10 +
                + #13#10 +
                SetupMessage(msgReadyMemoType) + #13#10 +
                '      ' + WizardForm.TypesCombo.Text)
    end;
  end;
end;


,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Цитата gmspy:
как научить инсталятор качать файл с фтп или веб сервера и записывать в директорию устанавливаемой программы. »
эту тему полистай
в сообщении El Sanchez

Последний раз редактировалось Johny777, 29-06-2012 в 17:23.


Отправлено: 17:11, 29-06-2012 | #342


Аватара для Raf-9600

Старожил


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

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


Johny777, полная очистка не подходит, потому что кроме Portable, компонентов будет дофига (которые можно выбрать вместе с Portable). И хотелось бы чтобы юзер знал что он понавыберал.
Может быть, возможно, удалить только определённую строчку? Хотя это наверно уже из разряда извращений.

Отправлено: 18:01, 29-06-2012 | #343


Аватара для Johny777

Ветеран


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

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


Raf-9600,
смотри
if (CurPageID = wpReady) and (IsComponentSelected('port'))
если страница готовности и выбран компонент port
те для всех остальных компонентов не буден никаких действий с мемо на странице готовности если не выбран компонент port
дай мне список всех компонетов, которые выбираются с портабельной
там просто нужно строки вписывать и всё.
Цитата Raf-9600:
удалить только определённую строчку »
писал выше почему не слелал этого
к тому же там строки по индексам
ну их. С одного компонента галку снимешь и номера опустятся или наооборот

Последний раз редактировалось Johny777, 29-06-2012 в 18:13.

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

Отправлено: 18:06, 29-06-2012 | #344


Аватара для Raf-9600

Старожил


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

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


Цитата Johny777:
дай мне список всех компонетов, которые выбираются с портабельной »
Дело в том, что их 113 штук. Точно давать?

Вот несколько начальных:
Код: Выделить весь код
[Components]                
Name: "Game"; Description: "{cm:TypeOfInstallation}"; Flags: disablenouninstallwarning; 
Name: "Game\Full"; Description: "{cm:Game}"; Flags: exclusive disablenouninstallwarning; Types: full 
Name: "Game\Pottable"; Description: "Портативная"; Flags: exclusive disablenouninstallwarning; 
Name: "Game\Lokal"; Description: "{cm:OnlyLocalization}"; Flags: collapsed exclusive disablenouninstallwarning;
Name: "Game\Lokal\Backup"; Description: "{cm:backup}"; Flags: disablenouninstallwarning;

Последний раз редактировалось Raf-9600, 29-06-2012 в 18:49.


Отправлено: 18:40, 29-06-2012 | #345


Аватара для Johny777

Ветеран


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

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


Raf-9600,
вот тебе пример как вносить строки в мемо в зависимости от выбора (надеюсь не накосячил с проверкой "выбран ли хоть один из компонентов")
разбирай

читать дальше »
Код: Выделить весь код
[Setup]
AppName=Portable
VersionInfoVersion=5.0
AppVerName=Portable
DefaultDirName={pf}\Portable_Or_Not_Test
DefaultGroupName=The_Most_Beautiful_Group_Name_Ever


[Components]
Name: port; Description: Portable; Types: full custom;
Name: port\add1; Description: Patch_for_Portable; Types: full custom; Flags: exclusive;
Name: port\add2; Description: Portable_Rusian_Language; Types: full custom; Flags: exclusive;

Name: dr_port; Description: Another_Portable; Types: full custom;



[Icons]
Name: {group}\new\Notepad; Filename: notepad.exe; Components: not port

[code]
function  ShouldSkipPage(PageID: Integer): Boolean;
begin
  if PageID = wpSelectProgramGroup then Result := IsComponentSelected('port');
end;

procedure CurPageChanged(CurPageID: Integer);
var
  i: Integer;
  
begin
  if (CurPageID = wpReady) and (IsComponentSelected('port')) then
  begin
    with WizardForm.ReadyMemo do
    begin
      Clear;
      Lines.Add(SetupMessage(msgReadyMemoDir) + #13#10 +                       
                '      ' + WizardForm.DirEdit.Text + #13#10 +
                + #13#10 +
                SetupMessage(msgReadyMemoType) + #13#10 +
                '      ' + WizardForm.TypesCombo.Text);
      if WizardForm.ComponentsList.Checked[i] then /// если отмечен хоть один из компонентов
      begin
        Lines.Add('');  /// пустая строка
        Lines.Add(SetupMessage(msgReadyMemoComponents));  /// "Выбранные компоненты:"
        
        if IsComponentSelected('port') then Lines.Add('      ' + 'Portable'); /// если выбран компонет port, то добавить строку   '      '  - пробелы от левого края + 'описание компонента'
        if IsComponentSelected('port\add1') then Lines.Add('      ' + 'Patch_for_Portable');  /// по аналогии и дальше
        if IsComponentSelected('port\add2') then Lines.Add('      ' + 'Portable_Rusian_Language');
        if IsComponentSelected('dr_port') then Lines.Add('      ' + 'Another_Portable');
      end;
    end;
  end;
end;


И вообще ты уверен что есть люди которые читают страницу готовности ?

Последний раз редактировалось Johny777, 29-06-2012 в 18:57.

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

Отправлено: 18:49, 29-06-2012 | #346


Аватара для Raf-9600

Старожил


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

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


Цитата Johny777:
Неужели есть люди которые читают страницу готовности ? »
Это дело вкуса. Когда у меня только-только появился компьютер, то я её читал.
Ну и если что, я не предполагал что для удаления той строчки придёться так извращаться

Цитата Johny777:
вот тебе пример как вносить строки в мемо в зависимости от выбора (надеюсь не накосячил с проверкой "выбран ли хоть один из компонентов")
разбирай »
Всё работает. Благодарю

Отправлено: 18:58, 29-06-2012 | #347


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

Ветеран


Contributor


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

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


Johny777, Raf-9600, дабы покончить с извращениями, направляю обоих в нужном направлении:
Код: Выделить весь код
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
begin
    if IsComponentSelected('portable') then
        Result := MemoComponentsInfo
    else
        Result := MemoDirInfo + NewLine + NewLine + MemoTypeInfo + NewLine + NewLine + MemoComponentsInfo + NewLine + NewLine + MemoGroupInfo;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:01, 29-06-2012 | #348


Аватара для Johny777

Ветеран


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

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


El Sanchez,
А что такое MemoTypeInfo и MemoDirInfo и откуда ты их взял? (часом не встроенные обозначения, которые используются только в WizardForm.ReadyMemo ?)

WizardForm.TypesCombo.Text и WizardForm.DirEdit.Text например понимаю хорошо в отличии от тех, что в твоей функции

Отправлено: 19:11, 29-06-2012 | #349


Аватара для Raf-9600

Старожил


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

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


El Sanchez, Спасибо!!! Я знал что должен быть элегантный способ! Теперь заодно уберу и ненужный MemoTypeInfo

Отправлено: 19:15, 29-06-2012 | #350



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход