![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Скрипты Inno Setup. Помощь и советы [часть 7]
|
Ветеран Сообщения: 1274 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] |
|
Отправлено: 11:48, 10-03-2014 |
Пользователь Сообщения: 149
|
Профиль | Отправить PM | Цитировать Dodakaedr, вы как-то не слишком конкретно вопросы задаете
![]() |
Отправлено: 15:14, 17-04-2014 | #451 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Цитата Shkutu:
![]() Shkutu, а на иконки (секция [Icon]) можно такое сделать? |
|
------- Последний раз редактировалось Dodakaedr, 17-04-2014 в 15:28. Отправлено: 15:22, 17-04-2014 | #452 |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Можно эту процедуру оформить как функция, потому что мой статус-лэйбл уже используется в процедуре? По позже вырежу сам код покажу....Не могу ничего придумать(( В оригинале намного больше файлов...
Часть кода отвечающий за статус-лэйбл: |
------- Последний раз редактировалось Dodakaedr, 17-04-2014 в 16:03. Отправлено: 15:53, 17-04-2014 | #453 |
![]() Ветеран Сообщения: 863
|
Профиль | Отправить PM | Цитировать Shkutu, Удалил свой статус-лэйбл, подставил ваш, но не знаю теперь как его вывести в процедуре MiniInstall? Если не выводить, то выбивает ошибку...Как это сделать?
|
------- Отправлено: 20:43, 17-04-2014 | #454 |
![]() Новый участник Сообщения: 46
|
Цитата Nordek:
function UninstallMyApp(): Boolean; var Buff: String; i: Integer; begin Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}', 'UninstallString', Buff ); if not Result then Result := not FileExists(RemoveQuotes(Buff)); if not Result then if MsgBox('Перед установкой необходимо удалить предыдущую версию приложения. Продолжить?', mbError, MB_YESNO) = IDYES then // если убираем эти аргументы, то диалог появляется, т.е. получается что изначально отрицаем существование ключа в реестре, а ОН ЕСТЬ)))) try Exec(RemoveQuotes(Buff), '', ExtractFilePath(RemoveQuotes(Buff)), SW_SHOW, ewWaitUntilTerminated, i); finally А происходит следующее: указываем RemoveQuotes, т.е. убираем кавычки, а строка в реестре выглядит так: "C:\Windows\Installer\SandboxieInstall64.exe" /remove, то в итоге при выполнении получаем такой вид: C:\Windows\Installer\SandboxieInstall64.exe" /, т.е. обрезает начало и конец, и получаем явную ошибку. Пробовал играться с добавлением недостающих символов в строке, но результат снова 0. P.S. Все, решил вопрос снимается. Извлекаем параметр в интерпретатор командной строки, и получаем требуемый результат. Другого способа не нашел. |
|
Последний раз редактировалось Stealthmax, 17-04-2014 в 21:53. Отправлено: 21:12, 17-04-2014 | #455 |
![]() Старожил Сообщения: 217
|
Профиль | Отправить PM | Цитировать Какой самый простой способ в установщик добавить другую мышку ,заранее спасибо.
|
Отправлено: 21:24, 17-04-2014 | #456 |
Ветеран Сообщения: 517
|
Профиль | Отправить PM | Цитировать Цитата Stealthmax:
--------------------------------------------------- Касательно вашего вопроса, самое просто - использовать StringChange, а после вызывать исполняемый файл через Exec с параметром /remove [Setup] AppName=My Program AppVersion=1.5 AppId={{D61E0604-FA55-4DFD-8ED3-CAF85483713A} DefaultDirName={pf}\My Program OutputDir=... [Code] function InitializeSetup(): Boolean; var Buff: String; begin Buff := '"C:\Windows\Installer\SandboxieInstall64.exe" /remove'; StringChange(Buff, ' /remove', ''); MsgBox(RemoveQuotes(Buff), mbError, MB_YESNO); end; |
|
Отправлено: 21:53, 17-04-2014 | #457 |
![]() Новый участник Сообщения: 46
|
Цитата saurn:
|
|
Отправлено: 23:19, 17-04-2014 | #458 |
Ветеран Сообщения: 517
|
Профиль | Отправить PM | Цитировать Цитата Stealthmax:
В своем первоначальном виде код работает как и надо. Цитата Stealthmax:
if not Result then Result := Возвращает Да, если нет искомого файла. Обрабатывается только если первое условие вернет Нет. Если условие возвращает Да работа функции прерывается. if not Result then if Отображает MsgBox, если условие выше возвращает Нет. Получаем своеобразную иерархию условий - если запись в реестре существует, ищем файл, если находим, выводим сообщение с предложением удалить и при ответе Да вызываем деинсталятор. |
||
Отправлено: 23:39, 17-04-2014 | #459 |
Пользователь Сообщения: 149
|
Профиль | Отправить PM | Цитировать Dodakaedr, надо было не удалять свой лейбл и менять его на мой, а немного подумать, вообще говоря.
|
Отправлено: 11:50, 18-04-2014 | #460 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 |
|