|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Скрипты Inno Setup. Помощь и советы [часть 4]
|
Ветеран Сообщения: 1265 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Продолжение обсуждения Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Отправлено: 18:01, 29-08-2011 |
Забанен Сообщения: 216
|
|
Отправлено: 11:05, 19-11-2011 | #171 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Спасибо.
Реестр мне не подходит по определённым причинам. Интересует возможность модификации файла настроек DCPlusPlus.xml во время установки. |
Отправлено: 11:23, 19-11-2011 | #172 |
Забанен Сообщения: 216
|
|
Отправлено: 12:19, 19-11-2011 | #173 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Извиняюсь за глупые вопросы, времени нехватает на вдумчивое чтение доков по Inno, но функции, вроде DeleteIniEntry являются API вызовами или это скриптовые обёртки? Если это Native API, то можно извратиться в моём случае и воспользоваться MSXML для доступа к данным DCPlusPlus.xml. Но это изврат получается )).
В итоге если хорошо подумать, то остаётся единственный вариант, написать программку, которая делает замену строк по шаблонам и вызывать её с аргументами - строками для замены (ник, ip, каталог), а после установки удалять её, что-бы не искушала пользователей. Так же сделать и при получении списка ip-адресов из системы (я надеюсь Inno Setup позволяет получать вывод вызываемых программ или ошибаюсь?). |
Отправлено: 12:36, 19-11-2011 | #174 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать OxFFEEDD,
вот тебе, старче, скрипты инно для работы с XML |
------- Отправлено: 13:14, 19-11-2011 | #175 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Универсальная библиотечка... спасибо. Теперь есть точка опоры, с которой можно начинать!
Осталось реализовать задуманное. Всем удачи! PS Кстати, если особо не заморачиваться на формате xml, то можно в файле настроек, предварительно прописав строковые шаблоны типа %nick%, %ip%, %dowload_dir% в соотв. теги, заменить шаблоны на значения, полученные от пользователя с помощью функции StringChangeEx, как вариант. |
Отправлено: 15:57, 19-11-2011 | #176 |
Забанен Сообщения: 216
|
|
Последний раз редактировалось Devils Night, 20-11-2011 в 02:29. Отправлено: 20:27, 19-11-2011 | #177 |
Старожил Сообщения: 189
|
Профиль | Отправить 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 |
Новый участник Сообщения: 10
|
Профиль | Отправить PM | Цитировать Всем Здрасте. Кто может поделиться скриптом для который используеться в этом уроке http://rutracker.org/forum/viewtopic.php?t=2729289 или вобщем скрипт с поддержкой вставки изображения, музыки и разархивации FreeArc для версии 5
|
Отправлено: 20:49, 20-11-2011 | #179 |
Новый участник Сообщения: 42
|
Профиль | Отправить PM | Цитировать Здравствуйте, у меня новая проблема появилась, надеюсь Вы подскажите. Суть проблемы: у меня 2 компонента в установке, первый это файлы игры, 2 это эмулятор для игры, файлы игры запиханы в архив 7з, который лежит рядом с установщиком и извлекается если отмечен 1 компонент, проблема заключается в том, что эмулятор из 2 компонента устанавливается до того, как разархивируются файлы игры, думаю это происходит так потому что инно сетап считает 1 компонент пустым так как там к нему не подключены файлы через секцию [Files] , а просто есть команда на распаковку архива, то есть инно сетап обрабатывает 1 компонент, считает его пустым и распаковывает 2 компонент, а мне нужно чтобы распаковывал только когда извлечется архив. Спасибо за внимание.
|
Отправлено: 09:47, 21-11-2011 | #180 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|