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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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]
Скрипты Inno Setup. Помощь и советы [часть 7]

Отправлено: 08:52, 02-02-2015

 

Аватара для habib2302

Ветеран


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

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


AlekseyPopovv,
Код: Выделить весь код
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
begin
  RemoveDir(ExpandConstant('{app}'));
 end;
end;
Доброе время суток. Возможно ли организовать MsgBox с отрицательным и положительным ответом на перезагрузку ПК после окончания установки?

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 11:24, 16-10-2016 | #1691



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

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


Аватара для nik1967

Старожил


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

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


habib2302,
справка
[Setup]: AlwaysRestart

Возможные значения: yes или no
Значение по умолчанию: no

Описание:
При значении yes инсталлятор будет всегда предлагать перезагрузить компьютер после успешной установки, даже если этого не нужно (в секции [Files] могут быть параметры с флагом restartreplace).

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


Отправлено: 12:41, 18-10-2016 | #1692


Аватара для habib2302

Ветеран


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

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


nik1967, у меня последняя страница отключена

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 15:26, 18-10-2016 | #1693


Аватара для Dodakaedr

Ветеран


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

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


habib2302, вот так пробуй
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=App
AppverName=App v1.0
DefaultDirName={pf}\App
OutputDir=.
DisableFinishedPage=yes

[Code]
Procedure Reboot();
var
i: integer;
begin
  Exec('shutdown.exe', '/r /t 0 /d u:4:2', '', SW_HIDE, ewNoWait, i);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssDone then
  begin
    if MsgBox('Для завершения установки требуется перезагрузка системы.'+#13#10+'Перезагрузить сейчас?', mbInformation, MB_YESNO) = 6 then Reboot();
  end;
end;

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

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

Отправлено: 17:00, 18-10-2016 | #1694


Аватара для habib2302

Ветеран


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

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


Помогите решить еще одну проблему. не запускается екзешник, который посредством команды /(un)install /silent должен запустить или удалять службу
https://yadi.sk/d/IpYZ28CBx6ozB
Код: Выделить весь код
[Run]
Filename: {app}\USBSRService.exe; Parameters: "/install /silent"; Flags: waituntilterminated

[UninstallRun]
Filename: "{app}\USBSRService.exe"; Parameters: "/uninstall /silent";

[Code]
 procedure CurStepChanged(CurStep: TSetupStep);
var
 RC: integer;
begin
  if CurStep = ssInstall then
  Exec(ExpandConstant('{app}\USBSRService.exe'), '/uninstall /silent', '', SW_HIDE, ewWaitUntilTerminated, RC);
end;

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 20:59, 18-10-2016 | #1695


Аватара для Dodakaedr

Ветеран


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

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


habib2302,
Код: Выделить весь код
Exec(ExpandConstant('{app}\USBSRService.exe'), ' /uninstall /silent', '', SW_HIDE, ewWaitUntilTerminated, RC);

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


Отправлено: 21:07, 18-10-2016 | #1696


Аватара для habib2302

Ветеран


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

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


Dodakaedr, а с секций run?

-------
Помог? От "Полезное сообщение" не откажусь!!!


Отправлено: 21:22, 18-10-2016 | #1697


Аватара для Dodakaedr

Ветеран


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

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


habib2302, там все правильно

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


Отправлено: 21:31, 18-10-2016 | #1698


Аватара для semiono

Ветеран


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

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


Нужно добваить пару строк в {sys}\drivers\etc\hosts

Код: Выделить весь код
127.0.0.1       www.addr1.com
127.0.0.1       www.addr2.com
Во-первых, хотелось бы добавить строки только при их отсутствии, то есть без повторения строк.
Во-вторых, хотелось бы учесть случай отсутствия \n в конце последней записи существующего файла.
Однако, добавлять NEWLINE в пустой файл вначале, тоже не хотелось бы, для этого я думаю можно использовать
проверку размера файла == 0 и тогда делать записи с первой строки.

Желательно не выводить окна, если Non Admin mode, чтобы всё тихо было.
Лучше бы установить права доступа на файл в любом режиме, но я думаю это лишнее, возможно даже совсем не нужно.

-------
Полезное сообщение


Отправлено: 18:12, 19-10-2016 | #1699


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

Ветеран


Contributor


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

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


Цитата semiono:
Нужно добваить пару строк в {sys}\drivers\etc\hosts »
semiono,
Скрытый текст

Код: Выделить весь код
//////////////////////////////////////////////////
function StripWhitespace(const S: string): string;
var
  C: Char;
  i: Integer;
begin
  for i := 1 to Length(S) do
  begin
    C := S[i];
    if (C = ' ') or ((C >= #$0009) and (C <= #$000D)) or (C = #$00A0) or (C = #$0085) then Continue;
    Result := Result + C;
  end;
end;

/////////////////////////////////////////////////////////
function AddEntryToHosts(const Ip, Url: string): Boolean;
var
  i: Integer;
begin
  Result := False;
  with TStringList.Create do
  try
    LoadFromFile(ExpandConstant('{sys}\drivers\etc\hosts'));
    for i := 0 to Count - 1 do
      if CompareText(StripWhitespace(Strings[i]), Trim(Ip) + Trim(Url)) = 0 then Exit;
    Add(Ip + #9 + Url);
    SaveToFile(ExpandConstant('{sys}\drivers\etc\hosts'));
    Result := True;
  finally
    Free;
  end;
end;

///////////////////////////
procedure InitializeWizard;
begin
  if AddEntryToHosts('127.0.0.1', 'google.ru') then
    MsgBox('Done', mbInformation, MB_OK);
end;

Цитата semiono:
Желательно не выводить окна, если Non Admin mode, чтобы всё тихо было. »
nonadmin-программам в системных директориях делать нечего.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:34, 20-10-2016 | #1700



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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




 
Переход