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

Компьютерный форум 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

 

Аватара для Dinvin4ester

Старожил


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

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


Ребята помогите пожалуйста . Вот скрипт - http://multi-up.com/900429 , но не видно прогресс бара (как устанавливается,строки) и еще бы хотелось музыку прописать . Буду рад помощи ..

Отправлено: 11:04, 05-09-2013 | #1091



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

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


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

Ветеран


Contributor


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

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


Цитата Shkutu:
полный список инстансов вытащить из реестра можно при желании, но вот выбрать конкретный действительно не могу »
Shkutu, тогда вы пишете в реестр мусор.

Цитата Shkutu:
Деинсталлятор кладу в ту же папку, куда устанавливается экземпляр программы. »
Shkutu, вы все правильно сделали, это от вас я и хотел услышать. В каждой копии программы по деинсталлятору, удаляющего только саму копию и не трогая остальные. Только каждый из деинсталляторов должен быть готовым к удалению не только своей копии, но и родительской директории UCS, если он остался последним среди удаленных копий. Тоже самое и с реестром. Удаление файлов организовать через [UninstallDelete], удаление реестровых записей через [Registry] с нужными флагами:
читать дальше »

Код: Выделить весь код
[UninstallDelete]
Type: filesandordirs; Name: {app}\UCS\instances\{code:GetInstanceName}
Type: dirifempty; Name: {app}\UCS\instances
Type: dirifempty; Name: {app}\UCS

[Registry]
Root: HKLM; Subkey: SOFTWARE\UCS; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: SOFTWARE\UCS\instances; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: SOFTWARE\UCS\instances\{code:GetInstanceName}; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: SOFTWARE\UCS\instances\{code:GetInstanceName}; ValueType: string; ValueName: path; ValueData: {app}\UCS\{code:GetInstanceName}; Flags: uninsdeletevalue


Цитата Shkutu:
деинсталлятора никаких страниц нет. »
Формы инсталлятора и деинсталлятора похожи и обе имеют страничный компонент TNewNotebook, так что ничто не мешает для деинсталлятора добавить свои страницы, только строить их с нуля нужно, шаблоны-функции Create*Page - это не для деинсталлятора. Вот пример, создается пустая страница, кнопка Далее для перехода на следующую страницу (если выборочных страниц больше одной делать, то необходима еще кнопка Назад), стандартная страница с прогрессом должна быть последней:
читать дальше »

Код: Выделить весь код
//////////////////////////////////////////////////
procedure UninsNextButtonOnClick(Sender: TObject);
begin
    with UninstallProgressForm.InnerNotebook do
    begin
        ActivePage := Pages[ActivePage.PageIndex + 1];      // go to next page
        if ActivePage.PageIndex = PageCount-1 then          // on last page...
        begin
            TButton(Sender).Hide;                           // ...hide Next button...
            UninstallProgressForm.Close;                    // ...and close modal form
        end;
    end;
end;

////////////////////////////////////////////////////
procedure UninsCancelButtonOnClick(Sender: TObject);
begin
    UninstallProgressForm.ModalResult := mrAbort;
end;

////////////////////////////////////////////
procedure InitializeUninstallProgressForm();
var
    Page: TNewNotebookPage;
    UninsNextButton: TButton;
begin
    with UninstallProgressForm do
    begin
        // create Next button
        UninsNextButton := TButton.Create(UninstallProgressForm);
        with UninsNextButton do
        begin
            Parent := UninstallProgressForm;
            Top := UninstallProgressForm.CancelButton.Top;
            Width := UninstallProgressForm.CancelButton.Width;
            Height := UninstallProgressForm.CancelButton.Height;
            Left := UninstallProgressForm.CancelButton.Left - Width - ScaleX(10);
            Caption := SetupMessage(msgButtonNext);
            OnClick := @UninsNextButtonOnClick;
        end;

        // modify Cancel button
        CancelButton.Enabled := True;
        CancelButton.OnClick := @UninsCancelButtonOnClick;

        // create custom page
        Page := TNewNotebookPage.Create(UninstallProgressForm);
        with Page do
        begin
            Parent := UninstallProgressForm.InnerNotebook;
            Notebook := UninstallProgressForm.InnerNotebook;
            PageIndex := 0; // first page
        end;

        // set active (first) page
        InnerNotebook.ActivePage := InnerNotebook.Pages[0];

        // default page to last page
        InstallingPage.PageIndex := InnerNotebook.PageCount-1;

        // show form
        if ShowModal = mrAbort then Abort;
    end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:16, 05-09-2013 | #1092


Старожил


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

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


Dinvin4ester ты используеш внутреное сжатие inno setup а скрипт от isdone потому и не работает

пример http://rghost.ru/48577915

Последний раз редактировалось vint56, 05-09-2013 в 14:21.

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

Отправлено: 12:52, 05-09-2013 | #1093


Аватара для Dinvin4ester

Старожил


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

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


vint56,
Огромное спасибо за помощь .

Отправлено: 17:38, 05-09-2013 | #1094


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


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

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


El Sanchez, спасибо, буду пробовать

Отправлено: 18:07, 05-09-2013 | #1095


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


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

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


Привет. И снова вопрос. Можно ли закрыть окно инсталляции из кода, но без вывода стандартного диалога "хотите ли вы прервать процесс установки.. да/нет" (как это происходит при использовании wizardform.close())? Или у wizardform.close() отключить вывод этого самого диалога?

Отправлено: 16:35, 06-09-2013 | #1096


Аватара для Johny777

Ветеран


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

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


Shkutu, можно
в процедуре CancelButtonClick() в булев переменную Confirm пишешь False, чтоб не было диалога подтверждения, а в Cancel - True, чтоб прервать работу инсталла
читать дальше »
Код: Выделить весь код
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
    Confirm := False;
    
    Cancel := True;
end;

если тебе это нужно только во время установки то нужна проверка
читать дальше »
Код: Выделить весь код
    if CurPageID = wpInstalling then
    begin
        Confirm := False;
        Cancel := True;
    end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:42, 06-09-2013 | #1097


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


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

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


Johny777, то, что нужно, спасибо за помощь!

Отправлено: 17:38, 06-09-2013 | #1098


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


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

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


Ребят извеняюсь конечно за вопрос но может ктонибудь поможет ?собрал себе скрипт из разных примеров на основе ISDone всё вроди работает нормально вот только кажется мне что он какойта запутаный получился(можете глянуть пожалуйста может его можно както попроше можно реализовать ? http://rghost.ru/48601229

Отправлено: 19:21, 06-09-2013 | #1099


Ветеран


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

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


wertulll нормальный там код,ты мой в некоторых скриптах не видел
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:22, 08-09-2013 | #1100



Компьютерный форум 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




 
Переход