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

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

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

Ветеран


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


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

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


Изменения
Автор: jameszero
Дата: 08-11-2010
Описание: тема закрыта
Лимит страниц.
Тема закрыта.
Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3]




Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;
    Предыдущая версия: 5.3.0 [07.04.2009] - Скачать (зеркало) | Русификатор (зеркало);

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать;

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы. Официальный сайт - недоступен.
    Последняя версия: 2.0.8 [12.11.2006] - Страница с зеркалами;

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.3 [11.09.2009] - Скачать;


Ссылка на архив предыдущей темы (также можно скачать из вложения)

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 22:06, 23-08-2009

 

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


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

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


alex2010, ага, если руки прямые :D

Может, тогда кто-нибудь поможет этот скрипт довести до ума? А то не хочет распаковывать ФриАрк архивы
http://rapid.ufanet.ru/9585636
Так не написал, т.к. форум не позволяет. Больше 30000 символов в скрипте.

Отправлено: 21:31, 13-04-2010 | #1701



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

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


Аватара для semiono

Ветеран


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

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


Как принудительно завершить программу установки из секции код?

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


Отправлено: 21:48, 13-04-2010 | #1702


Старожил


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

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


Вложения
Тип файла: zip ISTask.zip
(35.3 Kb, 34 просмотров)

Надо смотреть на каком этапе это нужно..

Вот скажем, на этапе установки...

читать дальше »
Код: Выделить весь код
[Files] 
Source: ISTask.dll; DestDir: {tmp}; Flags: dontcopy
Код: Выделить весь код
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('file.exe', false) then   
    begin                              
      if MsgBox('Программа file.exe используется. Закрыть и продолжить установку?', mbInformation, mb_YesNo) = idYes then 
         begin                        
           KillTask('file.exe');      
           Result:= True; 
         end else                     
          Exit;                       
    end; 
Result:=True; 
end;


Или же на этапе удаления

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


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

Отправлено: 23:18, 13-04-2010 | #1703


Аватара для semiono

Ветеран


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

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


cleric1985_n, а можешь продолжить это же самое, только if not IsWin64... KillTask() ?
Или это не совсем то что здесь надо? Мне надо запретить установку на x86 системе.

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


Отправлено: 02:11, 14-04-2010 | #1704


Старожил


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

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


А зачем тогда завершать? просто возьмите проверку системы..т.е. если не х64, то не устанавливать.....вроди в самом инно есть такая проверка..

Отправлено: 11:26, 14-04-2010 | #1705


Аватара для Habetdin


Автор проектов


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

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


semiono,
Код: Выделить весь код
function InitializeSetup(): Boolean;
begin
if IsWin64 then
	Result:= True else
	MsgBox('На вашем компьютере установлена 32-битная ОС.' + #13#10
		'Установка  невозможна!', mbInformation, MB_OK);
end;

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке

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

Отправлено: 16:53, 14-04-2010 | #1706


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


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

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


У мну пара вопросов к народу. Народ:

1. Почему инно не распознаёт оранжевый цвет? То-есть clOrange.
Есть ли аналог или как это будет выглядеть в инновских цифирках (подобное - #FF7F00 пробовал - инно и это не понимает)?

2. Я хочу запустить одну прогу после фриарка, но у мну она запускается до (соответственно сразу и закрывается ибо не находит, что ищет). Как это пофиксить?

3. Цвет фриарка (то-бишь инфа о распаковываемом файле и т.п.) белая, а мне нужен иной цвет. Облазил код - не нашёл. Ни одного упоминания на фонтколор фриарка...Мож я невнимательный?

Кто поможет?

Заранее спасибо.

Отправлено: 18:18, 14-04-2010 | #1707


Аватара для patrion

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


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

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


Snikt! , Во 1 этот скрипт полностью стабилен,
во 2 эт я его просил )))

Отправлено: 18:37, 14-04-2010 | #1708


Старожил


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

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


Цитата Serega:
Можно и так, но а не проще как предложил Habetdin ?
т.е запускать самому последовательно файлы… »
Вариант хороший, если бы не одно но, а именно...файл 2 не запускается самостоятельно, а исключительно при запуске из файла 1,т.е. извлекается из первого..но сохранить его и потом запустить отдельно увы невозможно...так что не подходит такой способ..нужно именно отследить, а не запустить и отследить...

Отправлено: 20:30, 14-04-2010 | #1709


Аватара для Habetdin


Автор проектов


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

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


cleric1985_n,
Цитата Habetdin:
if Exec(ExpandConstant('{app}\file1.exe'), '', '', SW_SHOW, ewWaitUntilTerminated, ResultCode) then »
Выделенное означает, что инсталлятор будет ждать, пока не закроется file1.exe.
Можно еще ResultCode проверять для надежности

-------
Рекомендую: $25 на тест виртуального сервера (VPS) за регистрацию по ссылке


Отправлено: 22:37, 14-04-2010 | #1710



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Inno Setup .:[все вопросы]:. Mchik Автоматическая установка приложений 1329 23-08-2009 20:13
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход