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

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

 

Аватара для boss911

Alien


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

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


Цитата pollipen:
как избавиться от запроса... »
Код: Выделить весь код
[Files]
Source: ACDSee Video\videorecorder.ini; DestDir: {app}\ACDSee Video; Flags: overwritereadonly
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:59, 16-07-2018 | #71



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

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


Аватара для ErikPshat

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


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

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


Ребята, помогите пожалуйста...
Я тут делаю распаковщик для многотомных архивов одной игры. Но пока это дело реализовал через голый 7-Zip.
Скачать проект можно здесь: http://rgho.st/7Qx8Zvc7C (в архиве лежат 5 маленьких томов для теста распаковки - 001, 002, 003, 004, 005).

Я же хочу сделать распаковку через ISDone по фэншую, чтобы распаковка шла с двумя полосками прогресс-бара, с процентами, временем и всем остальным, но не пойму, какими командами и в каком месте её прикрутить. Я умею её прикручивать, но она у меня работает только в стандартных приложениях после нажатия кнопки "Готово". А здесь у меня кастомный интерфейс и есть кнопка "Распаковать".

Помогите пожалуйста...

Отправлено: 17:46, 21-07-2018 | #72


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Подскажите, пожалуйста, почему установщик инно не может под UAC внести изменения в реестр HLKM
Версия инно 5,5,1 ее2 (а)
куски скрипта в части касающейся
Код: Выделить весь код
[Setup]
PrivilegesRequired=admin

[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssDone then begin
    if IsComponentSelected('TW1') then begin
      RegWriteDWordValue (HKEY_LOCAL_MACHINE, 'SOFTWARE\CD Projekt Red\The Witcher','IsDjinniInstalled', 1);
      RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\CD Projekt Red\The Witcher','RegionVersion', 'WE');
      RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\CD Projekt Red\The Witcher','InstallFolder', ExpandConstant('app}\'));
    end;//   if IsComponentSelected('TW1') then begin
  end;

[Registry]
Root: HKLM; Subkey: "SOFTWARE\CD Projekt Red\The Witcher"; ValueName: "IsDjinniInstalled"; ValueType: Dword; ValueData: "$1"; Components: TW1; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\CD Projekt Red\The Witcher"; ValueName: "RegionVersion"; ValueType: String; ValueData: "WE"; Components: TW1; Flags: uninsdeletekey
Root: HKLM; Subkey: "SOFTWARE\CD Projekt Red\The Witcher"; ValueName: "InstallFolder"; ValueType: String; ValueData: "{app}\"; Components: TW1; Flags: uninsdeletekey
Установщик может выдать ошибку RegCreatekeyEx: сбой, код 89
или не выдать и втихаря все поставить но ключи в реестре HKLM не создать

Причем примерно до НГ установщик работал нормально, виню последние обновки безопасности майкрософта

Заранее благодарен

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 12:20, 23-07-2018 | #73


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


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

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


если игра x64 и нужен доступ установщика к 64 бит разделам, то попробуй в секцию [Setup] прописать:
ArchitecturesInstallIn64BitMode=x64 ia64

Цитата R.i.m.s.k.y.:
Причем примерно до НГ установщик работал нормально, виню последние обновки безопасности майкрософта »
тогда уж инсталлятор тоже надо обновить, далеко на необновляемых ResTools сборках не уехать.

Последний раз редактировалось usermode, 23-07-2018 в 19:59.


Отправлено: 19:53, 23-07-2018 | #74


Аватара для R.i.m.s.k.y.

Ветеран


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

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


usermode, нет игра х86

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 20:43, 23-07-2018 | #75


Аватара для R.i.m.s.k.y.

Ветеран


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

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


еще подскажите, пожалуйста, как сделать через bass так чтобы первый мр3 файл проигрался и перешел ко второму, а второй мр3 уже играл в цикле
сейчас в фоне играет только один мр3 в цикле
Код: Выделить весь код
procedure InitializeWizard();
   ...
   ExtractTemporaryFile('BASS.dll');
   ExtractTemporaryFile('InnoCallback.dll');
   ExtractTemporaryFile('CallbackCtrl.dll');
   ExtractTemporaryFile('botva2.dll');
   ExtractTemporaryFile('volmax.png');
   ExtractTemporaryFile('volmin.png');
   ExtractTemporaryFile('volpb.png');
   ExtractTemporaryFile('voldote.png');
   ExtractTemporaryFile('MusicButton.png');
   ExtractTemporaryFile('mp3.mp3');
   BASS_Init(ExpandConstant('{tmp}\mp3.mp3'))
  BASS_CreateMediaPlayer(WizardForm, '{tmp}\volmax.png', '{tmp}\volmin.png', '{tmp}\volpb.png', '{tmp}\voldote.png', 110, 490);

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 21:42, 23-07-2018 | #76


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


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

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


R.i.m.s.k.y.
тогда для записи в реестр использовать windows api.

Отправлено: 12:00, 24-07-2018 | #77


Аватара для R.i.m.s.k.y.

Ветеран


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

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


Цитата usermode:
тогда для записи в реестр использовать windows api »
можно пример для инно?

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!


Отправлено: 12:04, 24-07-2018 | #78


Аватара для ErikPshat

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


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

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


Не могу выудить переменную из кода GetOpenFileName. Вот пример:
Код: Выделить весь код
procedure UnpackButtonClick(Sender: TObject);
var
  FileName: String;
begin
  // Set the initial filename
  FileName := '';
  if GetOpenFileName('', FileName, '', 'Archives Files (*.zip)|*.zip|All Files|*.*', 'zip') then
  begin
    // Successful; user clicked OK
    // FileName contains the selected filename
    MsgBox('Выбран архив {FileName}', mbInformation, MB_OK);
  end;
  if not ShellExec('open', ExpandConstant('{tmp}\7z.exe'), 'x -y {FileName}', ExpandConstant('{src}'), SW_SHOWNORMAL, ewnowait, ResultCode) then
  MsgBox(ExpandConstant('{code:NotFileOnDiskMsg}'), mbCriticalError,MB_OK);
end;
Делаю распаковку архивов и переменная {FileName} ничего не возвращает, ни в MsgBox, ни подхватывает выбранный файл при распаковке.

Отправлено: 10:02, 31-07-2018 | #79


Аватара для nik1967

Старожил


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

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


ErikPshat,
Скрытый текст

Код: Выделить весь код
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.

[Files]
Source: 7z.exe; Flags: dontcopy;

[code]
var
  UnpackButton: TButton;
  PathTmp: String;

procedure UnpackButtonClick(Sender: TObject);
var
  FileName: String;
  ResultCode: Integer;
begin
  if not FileExists(PathTmp+'7z.exe') then ExtractTemporaryFile('7z.exe');
  // Set the initial filename
  FileName := '';
  if GetOpenFileName('', FileName, '', 'Archives Files (*.zip)|*.zip|All Files|*.*', 'zip') then
  begin
    // Successful; user clicked OK
    // FileName contains the selected filename
    MsgBox('Выбран архив: '+FileName, mbInformation, MB_OK);
  end;
  if not ShellExec('open', ExpandConstant('{tmp}\7z.exe'), 'x -y '+FileName, ExpandConstant('{src}'), 0, ewnowait, ResultCode) then
  MsgBox(ExpandConstant('{code:NotFileOnDiskMsg}'), mbCriticalError,MB_OK);
end;

procedure InitializeWizard();
begin
  PathTmp:= ExpandConstant('{tmp}\');
  UnpackButton:= TButton.Create(WizardForm);
  with UnpackButton do begin
    Parent:= WizardForm;
    SetBounds(ScaleX(10), ScaleY(327), ScaleX(75), ScaleY(25));
    Caption:= 'Распаковать';
    OnClick:= @UnpackButtonClick;
  end;
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 12:03, 31-07-2018 | #80



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




 
Переход