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

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

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

Аватара для 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] - Скачать;


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

Отправлено: 19:06, 28-03-2013

 

Аватара для habib2302

Ветеран


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

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


saurn, оригинальный установщик написан на inno setup на версии 5.5.3
помоги с ошибкой в этом скрипте
Код: Выделить весь код
[CustomMessages]
Russian.Msg2=Удалить настройки программы находящиеся по адресу:
English.Msg2=Delete the program settings are at:
Ukrainian.Msg2=Видалити налаштування програми знаходяться за адресою:
Russian.Msg3=Удаление настроек
English.Msg3=Removal options
Ukrainian.Msg3=Видалення налаштувань

[code ]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
    case CurUninstallStep of
        usPostUninstall:
        if DirExists(AddBackslash(ExpandConstant('{userappdata}')) + 'Atomic Alarm Clock 6') then
        begin
            if MsgBoxEx(0, (CustomMessage('Msg2') + #13#13 + AddQuotes(AddBackslash(ExpandConstant('{userappdata}')) + 'Atomic Alarm Clock 6')), (CustomMessage('Msg3'), $00000004 or $00000020, 0, 0) = IDYES then
            DelTree(AddBackslash(ExpandConstant('{userappdata}')) + 'Atomic Alarm Clock 6', True, True, True);
        end;
    end;
end;

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


Последний раз редактировалось habib2302, 19-10-2013 в 19:38.


Отправлено: 19:16, 19-10-2013 | #1301



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

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


Ветеран


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

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


Цитата habib2302:
помоги с ошибкой в этом скрипте »
Куча лишних скобок была.
Код: Выделить весь код
[code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
    case CurUninstallStep of
        usPostUninstall:
        if DirExists(AddBackslash(ExpandConstant('{userappdata}')) + 'Atomic Alarm Clock 6') then
        begin
            if MsgBoxEx(0, CustomMessage('Msg2') + #13#13 + AddQuotes(AddBackslash(ExpandConstant('{userappdata}')) + 'Atomic Alarm Clock 6'), CustomMessage('Msg3'), $00000004 or $00000020, 0, 0) = IDYES then
            DelTree(AddBackslash(ExpandConstant('{userappdata}')) + 'Atomic Alarm Clock 6', True, True, True);
        end;
    end;
end;

Отправлено: 21:09, 19-10-2013 | #1302


Аватара для habib2302

Ветеран


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

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


как сделать так, чтобы процесс был завершен до удаления приложения?скрипт из шапки он завершает процесс до установки

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


Отправлено: 21:58, 19-10-2013 | #1303


Ветеран


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

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


Цитата habib2302:
как сделать так, чтобы процесс был завершен до удаления приложения?скрипт из шапки он завершает процесс до установки »
В оригинальном скрипте функция TerminateApp(...) вызывается в процедуре InitializeWizard, то есть в момент инициализации мастера установки. В вашем случае логичным будет вызывать ее, функцию, в момент инициализации удаления - в функции InitializeUninstall или в InitializeUninstallProgressForm.

Отправлено: 22:16, 19-10-2013 | #1304


Аватара для habib2302

Ветеран


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

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


скрипт на завершение процесса не работает и как решить проблему со скриптом на удаление др. версий приложения при старте.

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


Последний раз редактировалось habib2302, 19-10-2013 в 22:33.


Отправлено: 22:25, 19-10-2013 | #1305


SHVtYW4=


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

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


Цитата habib2302:
как сделать так, чтобы процесс был завершен до удаления приложения? »
Справка: Inno Setup Faq. На этапе деинсталляции убить процесс
Код: Выделить весь код
[Files]
Source: ISTask.dll; DestDir: {app}; Flags: ignoreversion

[Code]
// функции используемые при деинсталляции
// RunTask@{app}\ISTask.dll - название функции (в данном случае, если программа работает)
// и путь dll'ки где она расположена...

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;

Отправлено: 23:11, 19-10-2013 | #1306


Аватара для habib2302

Ветеран


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

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


Nordek, тоже не работает

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


Последний раз редактировалось habib2302, 20-10-2013 в 00:14.


Отправлено: 00:04, 20-10-2013 | #1307


SHVtYW4=


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

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


Цитата habib2302:
тоже не работает »
Что значит не работает?
А в
Код: Выделить весь код
  if RunTask('winamp.exe', False) then
Код: Выделить весь код
          KillTask('winamp.exe');
вместо winamp.exe свой exe-шник прописывал (т.е завершаемый процесс)?

Учти, срабатывает после того как кликнешь деинсталлировать. Потом соглашаешься нажатием кнопки "Да" и только тогда выскочит диалог о завершении процесса.

-------
09a468a9b4293cd82adf6d6c60a9da82 | Tm9yZGVr
В связи со сменой железа и переходом на LInux с полным отказом от Windows - посещение на форуме будет редким.


Отправлено: 00:33, 20-10-2013 | #1308


Аватара для habib2302

Ветеран


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

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


Nordek, да вписывал
смотри

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


Отправлено: 00:49, 20-10-2013 | #1309


Старожил


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

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


habib2302 если ты компилируеш проэкт на unicode он работать не будет IsTask работает только в ansi версий

Отправлено: 11:30, 20-10-2013 | #1310



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход