![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6] |
|
Скрипты Inno Setup. Помощь и советы [часть 6]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: |
|
Отправлено: 19:06, 28-03-2013 |
Новый участник Сообщения: 23
|
Профиль | Отправить PM | Цитировать Подскажите плиз, как сделать так, чтобы при выборе 2 компонентов (Flags: exlusive):
1) при выборе 1 компонента создавался деинсталлятор 2) при выборе 2 компонентов не создавался деинсталлятор. Если нельзя через компоненты сделать, то может быть через Tasks можно. Заранее Спасибо! |
Отправлено: 18:54, 04-11-2013 | #1401 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Сайт | Отправить PM | Цитировать ATTACUE
01. Но я не могу найти игру в реестре по пути reg:HKLM\SOFTWARE\ (Там нет папки World_Of_Tanks) 02. Ты меня не понял, у меня уже установленная игра World_Of_Tanks. В ней есть папка Audio, она лежит в папке res. Мне нужно чтоб установщик скопировал эту папку из папки res в папку res_mods, то есть как-то так: [Files] Source: "{app}\res\audio\*"; DestDir: "{app}\res_mods"; Flags: recursesubdirs 03. Команда RemoveDir(ExpandConstant('{app}\res_mods')); мне нравится только куда её вставить хз |
Отправлено: 19:28, 04-11-2013 | #1402 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать alexxxdar@vk,
01. Если устанавливал, должна быть, только вот она может называться по-другому, (это нужно учитывать) если честно - даже и не знаю как называется она, так как не играю в танки. Как вариант - ветка HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Всякие_папки и просмотреть их, если конечно система 64-битная. Тем не менее все равно в скрипте указывается без Wow6432Node, так как если приложение 32-битное, оно (вроде бы как) скопируется, по крайней мере у меня значения проверяет корректно. Если игра представляет собой архив без установочника, то в этом случае в реестре ты не найдешь нужные тебе ключи. 02. и 03. Поискав по форуму, наткнулся на это, там есть пара примеров, которые ты можешь приспособить под себя |
------- Отправлено: 20:36, 04-11-2013 | #1403 |
Новый участник Сообщения: 5
|
Профиль | Сайт | Отправить PM | Цитировать ATTACUE,
Спасибо за помощь! Что-то я прочитал документ который ты мне скинул, нашел пару функций которые мне нужно, но нифига не получается... Копирую нужные коды в раздел [code] прописываю свои пути и ничего не работает, или вообще ошибки выбивает при компиляции, кароче я в этом ничего не понимаю... |
Отправлено: 02:35, 05-11-2013 | #1404 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать alexxxdar@vk,
Большинство ошибок при компиляции - очевидны, посмотри на них. Возможно просто отсутствует знак ";" или продублирован идентификатор или какая-то функция не прописана в начале секции [code]. Если используешь сторонние или ранее написанные скрипты как модули - ошибки могут быть и в них, и в этом случае в ошибке прописывается - какой модуль и путь до него. Попробуй немного разобраться с кодом в примерах. Знаю - это сложно, но возможно тогда ты увидишь и поймешь свои ошибки. В настройках Inno Setup включи отображение номеров строк - проще будет ориентироваться по коду. А еще лучше - используй Inno Setup отсюда. Я бы рад бы тебе помочь с твоим скриптом, посидеть на досуге и просмотреть, но у меня не так много времени на свой скрипт, который я допиливаю, и который занимает все мое свободное время. Посмотри этот документ или на этой странице тоже есть интересные примеры (например Бекап файлов). Уверен - они тебе не раз помогут. К сожалению больше ни чем конструктивным помочь я не смогу. |
------- Последний раз редактировалось ATTACUE, 05-11-2013 в 14:52. Отправлено: 14:30, 05-11-2013 | #1405 |
Новый участник Сообщения: 5
|
Профиль | Сайт | Отправить PM | Цитировать ATTACUE,
Уже вроде как получилось! Посмотри, правильный код? Это код на то чтоб перед установкой чистилась папка, копировалось туда нужные мне файлы а после удаления удалялось всё... procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssInstall then begin if DirExists(ExpandConstant('{app}\res_mods')) then DelTree(ExpandConstant('{app}\res_mods'), True, True, True); end; begin CopyDir(ExpandConstant('{app}\res\audio'),ExpandConstant('{app}\res_mods\0.8.9')); end; begin CopyDir(ExpandConstant('{app}\res\text'),ExpandConstant('{app}\res_mods\0.8.9')); end; end; procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); begin if CurUninstallStep = usPostUninstall then begin DelTree(ExpandConstant('{app}\res_mods\0.8.9\audio'), True, True, True); end; begin DelTree(ExpandConstant('{app}\res_mods\0.8.9\text'), True, True, True); end; end; И спасибо Большое! Реально помог)) |
Отправлено: 15:32, 05-11-2013 | #1406 |
Старожил Сообщения: 440
|
Профиль | Сайт | Отправить PM | Цитировать alexxxdar@vk, слишком много бегинов и эндов. Куда столько?
|
------- Отправлено: 16:57, 05-11-2013 | #1407 |
Новый участник Сообщения: 5
|
Профиль | Сайт | Отправить PM | Цитировать nik1967,
Работает! Только возникает 2 вопроса: 01. Почему установщик копирует папку с файлами audio в {app}\res_mods\0.8.9 и также содержимое папки audio в {app}\res_mods\0.8.9 А без кода DelTree(ExpandConstant('{app}\res_mods'), True, True, True); всё нормально! В чём может быть проблема? begin if CurStep = ssInstall then begin if DirExists(ExpandConstant('{app}\res_mods')) then begin DelTree(ExpandConstant('{app}\res_mods'), True, True, True); CopyDir(ExpandConstant('{app}\res\audio'),ExpandConstant('{app}\res_mods\0.8.9')); CopyDir(ExpandConstant('{app}\res\text'),ExpandConstant('{app}\res_mods\0.8.9')); end; end; end; 02. Почему установщик копирует папку и перед установкой, и после, что мешает установить файлы из секции [Files] ? [Files] Source: "E:\Игры Install\WOT\Mod Pack\Install_mods\Mods\audio\6_chuvstv\sirena1\*"; DestDir: "{app}"; Components: A\audio\6_chuvstv\sirena1; Flags: recursesubdirs [code] procedure CurStepChanged(CurStep: TSetupStep); begin if CurStep = ssInstall then begin if DirExists(ExpandConstant('{app}\res_mods')) then begin DelTree(ExpandConstant('{app}\res_mods'), True, True, True); CopyDir(ExpandConstant('{app}\res\audio'),ExpandConstant('{app}\res_mods\0.8.9')); CopyDir(ExpandConstant('{app}\res\text'),ExpandConstant('{app}\res_mods\0.8.9')); end; end; end; |
Последний раз редактировалось alexxxdar@vk, 05-11-2013 в 17:22. Отправлено: 17:15, 05-11-2013 | #1408 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:30, 05-11-2013 | #1409 |
Пользователь Сообщения: 68
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 08:05, 06-11-2013 | #1410 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|