|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Пользователь Сообщения: 131
|
Профиль | Сайт | Отправить PM | Цитировать kotyarko@fb, спасибо вам большое. Теперь все работает как надо.
|
------- Отправлено: 10:38, 10-07-2015 | #771 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать Доброе время суток. Как сделать допустим разрегистрацию dll'ки через Exec перед установкой
|
------- Отправлено: 20:20, 10-07-2015 | #772 |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Цитата habib2302:
|
|
------- Последний раз редактировалось Dodakaedr, 11-07-2015 в 12:41. Отправлено: 20:28, 10-07-2015 | #773 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать Dodakaedr, а как сделать разрегистрацию перед распаковкой файлов в зависимости от компонента
|
------- Последний раз редактировалось habib2302, 11-07-2015 в 01:25. Отправлено: 22:13, 10-07-2015 | #774 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать habib2302, в зависимости от компонента
procedure CurStepChanged(CurStep: TSetupStep); var RC: integer; begin // if CurStep = ssInstall {или ssPreInstall} then case CurStep of ssInstall: {или ssPreInstall} if IsComponentSelected('r\b') {или if Installer.Checked} then Exec(ExpandConstant('{sys}\regsvr32.exe'), ' /u /s ' + 'test.dll', ExpandConstant('{sys}'), SW_HIDE, ewWaitUntilTerminated, RC) end; end; |
Последний раз редактировалось TryRooM, 11-07-2015 в 10:20. Отправлено: 00:06, 11-07-2015 | #775 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 08:52, 11-07-2015 | #776 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 08:54, 11-07-2015 | #777 |
Старожил Сообщения: 232
|
Профиль | Отправить PM | Цитировать Всем доброго времени суток ! Может кто поможет реализовать такую идею : Нужно до страницы выбора папки назначения вставить страницу с выбором типа установки :
"Установка" или "Распаковка" (они должны быть взаимоисключающими т.е. с флагом exclusive ). Если выбрана "Установка" то дальше установка должна идти как обычно (выбор папки, выбор компонентов и т.д. ) При выборе "Распаковка" должна быть страница выбора папки назначения и дальше просто распаковка в указанную пользователем папку. Можно это решить ? |
Отправлено: 14:25, 11-07-2015 | #778 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Доброе время суток. У меня возникли трудности с закрытием процесса. Нашел пример и на его основе попытался изобразить для своего случая:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep=usUninstall then begin Exec('taskkil','/f /im FmsProxy.exe', '', SW_Hide, ewWaitUntilTerminated, ErrorCode); end; end; На всякий случай: скриншот
![]() Что у меня в записи с taskkil не так? Заранее спасибо. ________ P.S. И кстати ещё один момент - как видно на скриншоте этих процессов FmsProxy.exe может быть несколько - может из-за этого не работает, и тогда как убить их все разом? |
Отправлено: 19:35, 12-07-2015 | #779 |
Ветеран Сообщения: 862
|
Профиль | Отправить PM | Цитировать palsn2000,
На этапе установки убить процесс
[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] // функции используемые при деинсталляции // 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; |
------- Отправлено: 19:52, 12-07-2015 | #780 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|