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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 06-06-2020
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме
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.3.0 [17.01.2015] - Скачать;



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

Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z
Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z
Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:09, 04-04-2018

 

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


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

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


El Sanchez, да, я это уловил и отредактировал предыдущее сообщение, вопрос полностью решен, спасибо еще раз!

там кстати на количество проходов влияют параметры:

LOptions.bEnableMultiPass := true;
LOptions.nMultiPassThreshold := 0;
LOptions.nMultiPassMaxAdditionalPasses := 3;

если мультипроходы отключены или выставлены в 1, то только один раз до 100 процентов выполняется. а на образце по дефолту 3 прохода выставляется, поэтому чуть не запутался с этим, думал глюки снова

Последний раз редактировалось usermode, 10-03-2019 в 20:35.


Отправлено: 19:46, 10-03-2019 | #281



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

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


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


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

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


Подскажите каким способом можно скрыть кнопку Inno Setup из панели задач ? Окно я скрываю, а кнопка остается и показывает прогресс распаковки, мне это не нужно.
SetWindowLong пробовал, не помогает.

Отправлено: 19:51, 28-03-2019 | #282


Ветеран


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

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


Цитата mdli:
каким способом можно скрыть кнопку Inno Setup из панели задач ? »
Зачем?

Отправлено: 04:05, 29-03-2019 | #283


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

Ветеран


Contributor


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

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


Цитата mdli:
Подскажите каким способом можно скрыть кнопку Inno Setup из панели задач ? »
mdli,
Код: Выделить весь код
#ifndef IS_ENHANCED
const
  GW_OWNER = 4;

function GetWindow(hWnd: HWND; uCmd: UINT): HWND; external 'GetWindow@user32.dll stdcall';
#endif
function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall';

procedure FormActivate(Sender: TObject);
begin
  ShowWindow({#ifdef IS_ENHANCED}Application.Handle{#else}GetWindow(MainForm.Handle, GW_OWNER){#endif}, SW_HIDE);
end;

procedure InitializeWizard;
begin
  WizardForm.OnActivate := @FormActivate;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:24, 31-03-2019 | #284


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


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

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


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

Добрый день!
Помогите решить проблему сохранения файлов SlideShow в память и последующей их воспроизведения из памяти:
Код: Выделить весь код
#ifndef IS_ENHANCED
#error Для компиляции данного скрипта необходимо расширенное издание Inno Setup (restools)!
#endif

#define SLIDE "4"

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={sd}\My Application

[Files]
Source: Sourse\*; Flags: dontcopy

[_Code]
type
#ifdef UNICODE
  PChar = PAnsiChar;
#else
  AnsiChar = Char;
#endif

var
i: Integer;

function ssInitialize(hParent: HWND; ssTimeShow: Integer; FadeOut: Boolean; StretchMode: Integer; BkgColor: DWORD): Boolean; external 'ssInitialize@{tmp}\isgsg.dll stdcall delayload';
procedure ssAddImage(FileName: PChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';

{* Запуск отображения слайдшоу *}
function InitializeSlideShow: Boolean;
begin
  ExtractTemporaryFile('isgsg.dll');
  Result := ssInitialize(WizardForm.Handle, 2, True, 0, 0);
for i := 1 to {#SLIDE} do begin
  ExtractTemporaryFile(IntToStr(i)+'.jpg');
  ssAddImage(ExpandConstant('{tmp}\'+IntToStr(i)+'.jpg'));
  end;
  Sleep(5);
  ssStartShow;
end;

procedure InitializeWizard();
begin
  InitializeSlideShow;
end;

procedure DeinitializeSetup();
begin
  ssStopShow;
  ssDeInitialize;
end;

-------
Не откладывай на завтра то, что можно сделать послезавтра...


Последний раз редактировалось SBalykov, 01-04-2019 в 15:31.


Отправлено: 15:05, 01-04-2019 | #285


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

Ветеран


Contributor


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

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


Цитата SBalykov:
Помогите решить проблему сохранения файлов SlideShow в память и последующей их воспроизведения из памяти »
SBalykov, а пущай для начала автор библиотеки реализует ssAddImage с загрузкой из TStream.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:05, 01-04-2019 | #286


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


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

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


El Sanchez
Понял.
Спасибо за ответ...

-------
Не откладывай на завтра то, что можно сделать послезавтра...


Отправлено: 02:40, 02-04-2019 | #287


Аватара для ErikPshat

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


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

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


Здравствуйте! Есть ли способ извлечения файлов из инсталлятора во время запуска не в папку {tmp)?
Предположим в секции [Files] помещаю файл:
Код: Выделить весь код
[Files]
Source: "Include\utility.exe"; DestDir: "{tmp}"; Flags: dontcopy
Затем, при запуске инсталлятора я извлекаю этот файл во временную директорию как обычно такой командой:
Код: Выделить весь код
ExtractTemporaryFile('utility.exe');
Но, если мне нужно извлекать не в {tmp}, а допустим, в папку "С:\Tools\utility.exe", тогда это просто так не получится? Что-то пробовал менять путь, выдаёт ошибку.

Пока ничего не приходит в голову, как копировать файл из временной папки, типа так:
Код: Выделить весь код
ExtractTemporaryFile('utility.exe');
FileCopy(ExpandConstant('{tmp}\utility.exe'), ExpandConstant('С:\Tools\utility.exe'), True);

Последний раз редактировалось ErikPshat, 10-04-2019 в 09:16.


Отправлено: 08:34, 10-04-2019 | #288


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


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

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


Добрый день. Подскажите пожалуйста, как сделать так, чтоб при установке приложения, на рабочем столе создавался ярлык со ссылкой, которую можно открыть через указанный браузер?
Например, чтоб сайт yandex.ru открывался через Explorer, нужно создать на рабочем столе такой ярлык
«C:\Program Files\Internet Explorer\iexplore.exe» //yandex.ru

Можно ли в inno setyp сделать подобное, чтоб создавался ярлык со ссылкой, которая открывалась бы через указанный браузер?

Отправлено: 17:40, 10-04-2019 | #289


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


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

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


ErikPshat, а с помощью ExtractTemporaryFiles(s) никак это не сделаешь. Если посмотреть исходники, то там код для этих функций работает только в пределах временной папки.
Так что способ копирования вполне себе, только не забудь перед копированием файла создать нужные папки, если они не существуют, например: ForceDirectories(ExpandConstant('{sd}\Tools'))
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:58, 10-04-2019 | #290



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты 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




 
Переход