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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]


Продолжение обсуждения
Скрипты Inno Setup. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

Забанен


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

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


Цитата OxFFEEDD:
Интересует создание инсталлятора программы FlylinkDC++ для локальной сети
Самому писать инсталлятор пока лень »
Мда, и лень тему полистать, уже был такой вопрос, valyok666 давал ответ, вот здесь
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:05, 19-11-2011 | #171



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

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


Аватара для OxFFEEDD

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


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

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


Спасибо.
Реестр мне не подходит по определённым причинам. Интересует возможность модификации файла настроек DCPlusPlus.xml во время установки.

Отправлено: 11:23, 19-11-2011 | #172


Забанен


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

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


Цитата OxFFEEDD:
Интересует возможность модификации файла настроек DCPlusPlus.xml во время установки. »
Подозреваю что нибудь этакое, только ввод в окне инсталятора или что то в этом духе. Самого такое интересует.

Отправлено: 12:19, 19-11-2011 | #173


Аватара для OxFFEEDD

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


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

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


Извиняюсь за глупые вопросы, времени нехватает на вдумчивое чтение доков по Inno, но функции, вроде DeleteIniEntry являются API вызовами или это скриптовые обёртки? Если это Native API, то можно извратиться в моём случае и воспользоваться MSXML для доступа к данным DCPlusPlus.xml. Но это изврат получается )).

В итоге если хорошо подумать, то остаётся единственный вариант, написать программку, которая делает замену строк по шаблонам и вызывать её с аргументами - строками для замены (ник, ip, каталог), а после установки удалять её, что-бы не искушала пользователей. Так же сделать и при получении списка ip-адресов из системы (я надеюсь Inno Setup позволяет получать вывод вызываемых программ или ошибаюсь?).

Отправлено: 12:36, 19-11-2011 | #174


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

Ветеран


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

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


Вложения
Тип файла: rar 23_XML_v.1.0.rar
(2.0 Kb, 119 просмотров)

OxFFEEDD,
вот тебе, старче, скрипты инно для работы с XML

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

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

Отправлено: 13:14, 19-11-2011 | #175


Аватара для OxFFEEDD

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


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

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


Универсальная библиотечка... спасибо. Теперь есть точка опоры, с которой можно начинать!
Осталось реализовать задуманное. Всем удачи!

PS
Кстати, если особо не заморачиваться на формате xml, то можно в файле настроек, предварительно прописав строковые шаблоны типа %nick%, %ip%, %dowload_dir% в соотв. теги, заменить шаблоны на значения, полученные от пользователя с помощью функции StringChangeEx, как вариант.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:57, 19-11-2011 | #176


Забанен


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

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


Как совместить эти два кода?

читать дальше »
Код: Выделить весь код
[Files]
Source: ISTask.dll; DestDir: {app}; Flags: dontcopy

[ Code]
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';

function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';

//**************************************************//
function InitializeSetup(): Boolean;
begin
  If RunTask('winamp.exe', false) then
    begin
      if MsgBox('Программа Winamp используется. Закрыть и продолжить установку?', mbInformation, mb_YesNo) = idYes then
        begin
          KillTask('winamp.exe');
          Result:= True;
        end else
          Exit;
    end;
Result:=True;
end;

Код: Выделить весь код
[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('winamp.exe', False) then
    begin
      // прячем форму
      UninstallProgressForm.Visible:= False;
      if MsgBox('Программа winamp.exe используется. Закрыть и продолжить удаление?', mbConfirmation, MB_YESNO) = IDYES then
        begin
          KillTask('winamp.exe');
          UnloadDll(ExpandConstant('{app}\ISTask.dll'));
          // показываем форму
          UninstallProgressForm.Visible:= True;
        end
      else
        begin
          MsgBox('Завершите работу winamp.exe, затем снова запустите программу удаления.', mbInformation, MB_OK);
          UnloadDll(ExpandConstant('{app}\ISTask.dll'));
          Abort;
        end;
    end;
end;

Последний раз редактировалось Devils Night, 20-11-2011 в 02:29.


Отправлено: 20:27, 19-11-2011 | #177


Аватара для Rikill

Старожил


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

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


Devils Night,
Код: Выделить весь код
function KillTasks(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';

function RunTasks(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';

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';

//**************************************************//
function InitializeSetup(): Boolean;
begin
  If RunTasks('Winamp.exe', false) then
    begin
      if MsgBox('Программа Winamp используется. Закрыть и продолжить установку?', mbInformation, mb_YesNo) = idYes then
        begin
          KillTasks('Winamp.exe');
          Result:= True;
        end else
          Exit;
    end;
Result:=True;
end;


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

-------
"Око за око приведёт к слепоте мира"- Ганди

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

Отправлено: 00:57, 20-11-2011 | #178


Аватара для Aplle

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


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

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


Всем Здрасте. Кто может поделиться скриптом для который используеться в этом уроке http://rutracker.org/forum/viewtopic.php?t=2729289 или вобщем скрипт с поддержкой вставки изображения, музыки и разархивации FreeArc для версии 5

Отправлено: 20:49, 20-11-2011 | #179


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


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

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


Здравствуйте, у меня новая проблема появилась, надеюсь Вы подскажите. Суть проблемы: у меня 2 компонента в установке, первый это файлы игры, 2 это эмулятор для игры, файлы игры запиханы в архив 7з, который лежит рядом с установщиком и извлекается если отмечен 1 компонент, проблема заключается в том, что эмулятор из 2 компонента устанавливается до того, как разархивируются файлы игры, думаю это происходит так потому что инно сетап считает 1 компонент пустым так как там к нему не подключены файлы через секцию [Files] , а просто есть команда на распаковку архива, то есть инно сетап обрабатывает 1 компонент, считает его пустым и распаковывает 2 компонент, а мне нужно чтобы распаковывал только когда извлечется архив. Спасибо за внимание.

Отправлено: 09:47, 21-11-2011 | #180



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход