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

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

 

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


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

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


Dodakaedr,
Мой косяк,извиняюсь.http://yadi.sk/d/_H8RyqgdR7VUj

Отправлено: 19:51, 23-05-2014 | #771



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

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


Аватара для Dodakaedr

Ветеран


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

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


saneksanek, Вы этот пост смотрели? Оно или нет?

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

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

Отправлено: 20:03, 23-05-2014 | #772


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


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

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


Dodakaedr,
С вашим предоставленным кодам выдает ошибку "Could not call proc." в чем может быть проблема?

Отправлено: 20:24, 23-05-2014 | #773


Аватара для Dodakaedr

Ветеран


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

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


saneksanek, а файлы скачали которые прилагаются в посте?
читать дальше »
Код: Выделить весь код
#include "botva2.iss"
#include "BASS_Module.iss"

[Setup]
AppName=BassExample
AppVerName=BassExample
DefaultDirName={pf}\BassExample

[Files]
Source: BASS.dll;   Flags: dontcopy
Source: CallbackCtrl.dll;  Flags: dontcopy
Source: botva2.dll;   Flags: dontcopy
Source: BASS_Files\*;   Flags: dontcopy
//Source: music.mp3;  DestDir: {tmp}; Flags: dontcopy

[ code]
procedure InitializeWizard();
begin
  ExtractTemporaryFile('BASS.dll');
  ExtractTemporaryFile('CallbackCtrl.dll');
  ExtractTemporaryFile('botva2.dll');
  ExtractTemporaryFile('volmax.png');
  ExtractTemporaryFile('volmin.png');
  ExtractTemporaryFile('volpb.png');
  ExtractTemporaryFile('voldote.png');
  //ExtractTemporaryFile('Music.mp3');

  //BASS_Init('{tmp}\Music.mp3')  //Запускаем музыку
  //Можно добавить в инсталл несколько песен
  //BASS_Init(ExpandConstant('{tmp}\*'))        //Поиск по маске
   
  //Создаем регулятор громкости
  BASS_CreateMediaPlayer(WizardForm, '{tmp}\volmax.png', '{tmp}\volmin.png', '{tmp}\volpb.png', '{tmp}\voldote.png', 20, 325)
end;

procedure DeinitializeSetup();
begin
  //BASS_DeInit; //Освобождаем процесс
  gdipShutdown
end;

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


Последний раз редактировалось Dodakaedr, 10-11-2014 в 22:20.


Отправлено: 20:28, 23-05-2014 | #774


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


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

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


Dodakaedr,
Нет,проглядел.Добавил ваши модули все заработало спс

Отправлено: 20:49, 23-05-2014 | #775


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


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

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


Dodakaedr, все отлично работает, но есть небольшой баг.
При открытии установщика проскакивает синий фон с названием установщика. С чем это может быть связано?
Вот видео, на нем все видно http://youtu.be/iRQXMh1y7g0

Отправлено: 21:18, 23-05-2014 | #776


Аватара для Dodakaedr

Ветеран


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

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


Вложения
Тип файла: rar Фон инсталлятора.rar
(5.5 Kb, 22 просмотров)

Цитата Kashtan007:
С чем это может быть связано? »
Не знаю, наверное это баг самой dll-ки...
Попробуйте вот это

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

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

Отправлено: 21:51, 23-05-2014 | #777


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


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

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


Теперь выходит проблема такая.
При запуске exe выходит так
Но если нажать далее а потом назад то все нормально будет
Можно-ли как-то исправить.
Конфликт я думаю идет с этим кодом.
читать дальше »
Код: Выделить весь код
var MainImage    : TBitmapImage;
    FinishedImage: TBitmapImage;
    WelcomeLabel1, WelcomeLabel2,StartMenuLbl,FinishedLabel,Welcome1,Welcome2,NeedSpaceLabel,SelectTasksLabel, FreeSpaceLabel, FinishedHeadingLabel: TLabel;

procedure InitializeWizard3();
begin
    ExtractTemporaryFile('1.bmp');
    MainImage := TBitmapImage.Create(WizardForm);
    with MainImage do
    begin
        Parent := WizardForm;
        Left := 0;
        Top := 0;
        Width := 500;
        Height := 313;
        Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
end;

ExtractTemporaryFile('5.bmp');
    FinishedImage := TBitmapImage.Create(WizardForm);
    with FinishedImage do
    begin
        Parent := WizardForm;
        Left := 0;
        Top := 0;
        Width := 500;
        Height := 313;
        Bitmap.LoadFromFile(ExpandConstant('{tmp}\5.bmp'));
    end;

Welcome1:= TLabel.Create(WizardForm);
  with Welcome1 do
  begin
    Left:= ScaleX(150);
    Top:= ScaleY(26);
    Width:= ScaleX(301);
    Height:= ScaleY(71);
    AutoSize:= false;
    Transparent:= true;
    WordWrap:= true;
    Font.Size:= 12;
    Font.Color:=clBlack
    Font.Style := [fsBold]
    Parent:= WizardForm;
    Font.Name:= 'Georgia'
    Caption:= ExpandConstant('{cm:Welcome1}')
 end;

Welcome2:=TLabel.Create(WizardForm);
  with Welcome2 do
  begin
    Left:= ScaleX(150);
    Top:= ScaleY(66);
    Width:= ScaleX(345);
    Height:= ScaleY(300);
    AutoSize:= false;
    WordWrap:= true;
    Font.Color:=clBlack
    Font.Name:= 'Georgia'
    Font.Size:= 10;
    Transparent:= true;
    Parent:= WizardForm;
    Caption:= ExpandConstant('{cm:Welcome2}')
end;

FinishedHeadingLabel:=TLabel.Create(WizardForm);
  with FinishedHeadingLabel do
  begin
    Left:= ScaleX(170);
    Top:= ScaleY(26);
    Width:= ScaleX(300);
    Height:= ScaleY(150);
    AutoSize:= false;
    WordWrap:= true;
    Font.Size:= 12;
    Font.Color:=clBlack
    Font.Name:= 'Georgia'
    Font.Style := [fsBold]
    Transparent:= true;
    Parent:= WizardForm;
    Caption:= WizardForm.FinishedHeadingLabel.Caption;
  end;

FinishedLabel:= TLabel.Create(WizardForm);
  with FinishedLabel do
  begin
    Left:= ScaleX(170);
    Top:= ScaleY(66);
    Width:= ScaleX(325);
    Height:= ScaleY(150);
    AutoSize:= false;
    WordWrap:= true;
    Transparent:= true;
    Font.Color:=clBlack
    Font.Size:= 10;
    Font.Name:= 'Georgia'
    Parent:= WizardForm;
    Caption:= ExpandConstant('{cm:Finished1}') + #10#13#10 + ExpandConstant('{cm:Finished2}')
end;
end;

procedure HideComponents;
begin
  Welcome1.Hide;
  Welcome2.Hide;
  FinishedHeadingLabel.Hide;
  FinishedLabel.Hide;

end;

procedure ShowComponents(CurPageID: Integer);
begin
  case CurPageID of
    wpWelcome:
    begin
      Welcome1.Show;
      Welcome2.Show;
end;
    wpFinished:
    begin
      FinishedHeadingLabel.Show;
      FinishedLabel.Show;
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  HideComponents;
  ShowComponents(CurPageID);
    if CurPageID = wpWelcome then
    begin
        WizardForm.OuterNotebook.Hide;
        FinishedImage.Hide;

    end
    else if CurPageID = wpFinished then
    begin
        WizardForm.OuterNotebook.Hide;
        MainImage.Hide;
        FinishedImage.Show;
    end
    else WizardForm.OuterNotebook.Show;
end;

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


Отправлено: 22:30, 23-05-2014 | #778


Аватара для Dodakaedr

Ветеран


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

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


Подскажите как освобождать процесс программы из системы перед удалением?

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


Отправлено: 18:52, 24-05-2014 | #779


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


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

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


Dodakaedr,
Если правильно понял вас,
читать дальше »
Код: Выделить весь код
[Files]
Source: ISTask.dll; DestDir: {app}; Flags: ignoreversion
[ Code]
//**На этапе деинсталляции убивает процесс
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@{app}\ISTask.dll stdcall delayload uninstallonly';
function KillTask(ExeFileName: string): Integer;
external 'KillTask@{app}\ISTask.dll stdcall delayload uninstallonly';

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then
  if RunTask('file.exe', False) then
    begin
      // прячем форму
      UninstallProgressForm.Visible:= False;
       if MsgBox('Программа file.exe используется. Закрыть и продолжить удаление?', mbConfirmation, MB_YESNO) = IDYES then
        begin
          KillTask('file.exe');
          UnloadDll(ExpandConstant('{app}\ISTask.dll'));
          // показываем форму
          UninstallProgressForm.Visible:= True;
        end
       else
        begin
          MsgBox('Завершите работу file.exe, затем снова запустите программу удаления.', mbInformation, MB_OK);
          UnloadDll(ExpandConstant('{app}\ISTask.dll'));
          Abort;
        end;
    end;
end

Отправлено: 21:24, 24-05-2014 | #780



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




 
Переход