|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Скрипты Inno Setup. Помощь и советы [часть 4]
|
Ветеран Сообщения: 1271 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Продолжение обсуждения Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Отправлено: 18:01, 29-08-2011 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать El Sanchez, ВОТ! как при задании элементов массива отделить строки!
через точку с запятой или вот так? ['Москва','ул','Пушкарная','',''] ['','','','','''] ['','Ленинград','','пер','Московский'] [...] епт даже так не прокатывает sss[0] := ['','Ленинград','','пер','Московский'] поотдельности забивать я идиотом сделаюсь другой вопрос про синтаксис Инно - каким способом в инно закомментировать целый блок секции или кода? // и ";" - это для строки |
------- Последний раз редактировалось R.i.m.s.k.y., 16-02-2012 в 15:05. Отправлено: 14:44, 16-02-2012 | #831 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
блок} (*закоментированный блок*) както так. Вроде больше нет знаков коментария. |
|
------- Отправлено: 16:05, 16-02-2012 | #832 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать С точки зреня логики я поменял местами страницы
теперь страница wpSelectComponents находится перед страницей wpSelectDir чтобы сделать ещё лучше, хотелось бы расширить возможности ComponentsDiskSpaceLabel чтобы проверялось свободное место на диске логика такая например выборан только компонент 1 размером 4гб на жёстком диске свободно 6 результат: кнопка далее активна теперь выбраны 2 компонента общим размером 9гб места не хватает появляется надпись (лейбл.Show или сатикТекст.Show) результат: кнопка далее неактивна у меня было похожее решение, но там необходимое место на диске было "статичным" и задавалось заранее подскажите пожалуйста как это сделать? |
Отправлено: 21:07, 16-02-2012 | #833 |
Ветеран Сообщения: 1271
|
Профиль | Отправить PM | Цитировать Цитата Лександер:
[code] #ifndef UNICODE #error REQUIRES UNICODE INNO SETUP! #endif const CLSID_DesktopGadget = '{924CCC1B-6562-4C85-8657-D177925222B6}'; type IDesktopGadget = interface(IUnknown) '{924CCC1B-6562-4C85-8657-D177925222B6}' function RunGadget(gadgetPath: String): HResult; end; procedure ShowGadget(gadgetPath: String); var pDG: IDesktopGadget; Obj: IUnknown; begin if (GetWindowsVersion shr 24 > 6) or ((GetWindowsVersion shr 24 = 6) and ((GetWindowsVersion shr 16) and $FF > 0)) then begin Obj := CreateComObject(StringToGuid(CLSID_DesktopGadget)); pDG := Obj as IDesktopGadget; pDG.RunGadget(gadgetPath); CoFreeUnusedLibraries; end; end; procedure InitializeWizard(); begin ShowGadget(ExpandConstant('{pf}\Windows Sidebar\Gadgets\Clock.Gadget')); end; |
|
Отправлено: 21:44, 17-02-2012 | #834 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Цитата El Sanchez:
Единственное - стоит побороть-таки, несовместимость с АНСИ. Вся беда в отсутствии расширенных строковых типов в инно. Но их можно, наверное описать? |
|
------- Последний раз редактировалось Gnom_aka_Lexander, 18-02-2012 в 13:57. Отправлено: 13:45, 18-02-2012 | #835 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать прошу прощения
в справке нашёл ответ на свой вопрос из предыдущего сообщения вопрос в том как вместо сообщения отобразить инфомацию (выделил жирным шрифтом) на появляющемся лейбле вместо окна var Path: String; FreeMB, TotalMB: Cardinal; function GetSpaceOnDisk(const Path: String; const InMegabytes: Boolean; var Free, Total: Cardinal): Boolean; begin // Get and display free megabytes on the Program Files drive Path := ExpandConstant('{pf}'); if GetSpaceOnDisk(Path, True, FreeMB, TotalMB) then begin MsgBox('There are ' + IntToStr(FreeMB) + ' megabytes free on ' + Path, mbInformation, MB_OK); WizardForm.NextButton.Enabled:=False /// добавил лейбл нехватки места.Show /// добавил end else begin // the function failed end; end; |
Последний раз редактировалось Johny777, 18-02-2012 в 15:08. Отправлено: 14:58, 18-02-2012 | #836 |
Пользователь Сообщения: 91
|
Профиль | Сайт | Отправить PM | Цитировать У меня в процессе установки создаются файлы, о которых установщик "не знает". Если установку прервать или что-то случится до её завершения, то эти файлы останутся.
Что можно сделать в данном случае? При "корректной" деинсталляции, есть способ, записать все файлы, например в секцию "UninstallDelete". А ЕСЛИ ДО ДЕИНСТАЛЛЯЦИИ ДЕЛО "НЕ ДОЙДЁТ"?! Как быть с сохранениями и (настройками), которые хранятся в папке установки приложения? Мне нужно, чтобы ВСЯ папка удалялась, КРОМЕ папки с сохранениями (если пользователь решит её оставить), а если нет, то чтобы всё удалялось? Как удалить сохранения игры "по расширению"? В подпапке папки установки игры создаются файлы с расширением *.sav и/или *.red, а название у этих файлов любое, - какое пользователь им придумает. Например: My Game\userdata\1.sav; My Game\userdata\1.sav. "userdata" - это папка в которой хранятся различные "профили" пользователя, - ТУПО ЕЁ всю удалять и/или "реагировать" на неё НЕЛЬЗЯ , т.к. кроме сохранений там есть и другие файлы. А "1.sav" и/или "1.red" - это файлы сохранения, но имя может быть любым, нужно найти их и предложить удалить если есть таковые, и ничего не предлагать если в папке "userdata" их нет!!! |
Отправлено: 19:37, 18-02-2012 | #837 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Кто знает сайтик где есть готовые скрипты инсталлеров? скиньте плиз
|
Отправлено: 23:34, 18-02-2012 | #838 |
Забанен Сообщения: 216
|
Подскажите, а как сделать тоже самое:
но только чтоб и с локалкой отрабатывало, а то когда интернет есть, всё работает, а когда интернет отключен и работает только локалка, то установщик запускается, а нужно чтоб было как и с рабочим интернетом, такое вообще возможно? Цитата VASYAKRN:
|
|
Отправлено: 02:26, 20-02-2012 | #839 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать Devils Night, ну как вариант пинговать 127.0.0.1, это loopback адрес, если он пинугется - значит сеть есть
Кстати пинговать 2ip для определения нэта не самый кошерный вариант, ping возвращает неноль только если сети нет, если к примеру ему ДНС вернет что данный узел не найден, пинг с чистой совестью вернет 0, хотя сайты не открываются и автообновлялка отвалится с тойже ошибкой Выше El Sanchez дал пример кошерного определения связи |
------- Отправлено: 10:16, 20-02-2012 | #840 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|