|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 9] |
|
Скрипты Inno Setup. Помощь и советы [часть 9]
|
Ветеран Сообщения: 1264 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов!
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы [часть 6] | Скрипты Inno Setup. Помощь и советы [часть 6].7z Скрипты Inno Setup. Помощь и советы [часть 7] | Скрипты Inno Setup. Помощь и советы [часть 7].7z Скрипты Inno Setup. Помощь и советы [часть 8] | Скрипты Inno Setup. Помощь и советы [часть 8].7z |
|
Отправлено: 16:09, 04-04-2018 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать Nordek, Я видел "532" пост, когда искал решение "удаление перед установкой" несколько раз.
Не понимая заданного вопроса "TROY Diamond" (Мне нужно, чтобы мой установщик при запуске находил уже ранее установленное приложение, НЕ только моим, НО и другими установщиками) - просто проходил мимо. Теперь понял, спасибо за наводку Но мне не то нужно, может есть возможность выполнить батник, или же конслольные команды после нажатия на финиш инсталлятора? Банально мне нужно чтобы мой инсталятор само уничтожался после выполнения, как это делает unins000.exe... |
Последний раз редактировалось Beavimo, 27-02-2020 в 07:08. Отправлено: 06:27, 27-02-2020 | #581 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 90
|
Профиль | Отправить PM | Цитировать Инсталлятор самоуничтожится после выполнения!
procedure CurStepChanged(CurStep: TSetupStep); var ResultCode: Integer; begin if CurStep = ssDone then begin SaveStringToFile(ExpandConstant('{userappdata}\del.bat'), '@echo off' +#13#10+ ':trydel' +#13#10+ 'del "' + ExpandConstant('{srcexe}') + '"' +#13#10+ 'if exist "' + ExpandConstant('{srcexe}') + '" goto trydel' +#13#10+ 'del "' + ExpandConstant('{userappdata}\del.bat') + '"', False); Exec(ExpandConstant('{userappdata}\del.bat'), '', '', SW_HIDE, ewNoWait, ResultCode); end; end; |
Отправлено: 21:55, 08-03-2020 | #582 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Буду признателен. Не нашел (плохо искал наверно)
у меня папка установки берется из реестра. ={reg:HKLM64\SOFTWARE\Avid\install,Main Path} (как пример) Все нормально никаких проблем. Мне просто нужно чтобы при установке этот путь показывался но НЕ давал сменить. в Inno Script Studio пробовал. или не нашел или просто не появляется путь вообще. Спасибо заранее. |
Отправлено: 17:56, 09-03-2020 | #583 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Цитата VLADEV:
|
|
------- Отправлено: 18:43, 09-03-2020 | #584 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать Tco 03, робит
|
Отправлено: 01:09, 10-03-2020 | #585 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать Всем доброго вечера! Давненько я думал избавиться от длинного ключа тихой установки (/verysilent) и заменить его коротким (/S) как у других аналогов InnoSetup.
Читая архив наткнулся на уже готовое решение... Взял на испытание. В целом код с задачей справляется хорошо, но нашёл одно НО. Заключается оно в регистре. Ключ в нижнем регистре отрабатывает хорошо, а в верхнем не хочет. Долго уже чешу бестолковку , но решить задачу не могу. Прошу помощи в решении задачи с верхним регистром или может у кого-нибудь есть другое решение замены длинного ключа на короткий. |
Отправлено: 20:15, 11-03-2020 | #586 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать Вопрос снимаю. Опробовал на другом компьютере и всё работает в верхнем и нижнем регистре.
Видать у меня в системе проблемы... Хотя, если есть у кого-нибудь альтернативные решения буду рад взглянуть!!! |
Отправлено: 20:33, 11-03-2020 | #587 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать Новая проблема с этим кодом (писал о нем несколькими сообщениями ранее).
Добавил языки в инсталлятор и тихая установка при помощи этого кода не работает. При запуске с коротким ключом "/S" выводит окно выбора языка (чего не должно быть), жму "Ок" и дальше устанавливает тихо. Если в функции InitializeSetup параллельно происходят еще какие-то операции (в моем случае это распаковка некоторых *.bmp во временную папку), то при запуске с коротким ключом выводит окно выбора языка, после нажатия "Ок" и установка проходит в обычном режиме с показом всех последующих окон. В общем так уже не работает:
[Setup]
AppName=Silent Install Key AppVerName=Silent Install Key v 1.0 OutputBaseFilename=SilentInstallKey_setup DefaultDirName={pf}\SilentInstallKey CreateAppDir=no [Languages] Name: "english"; MessagesFile: "compiler:Languages\English.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [code] function InitializeSetup(): Boolean; var i, ResultCode: Integer; begin for i := 1 to ParamCount do if LowerCase(ParamStr(i)) = '/S' then begin Exec(ExtractFileName(ExpandConstant('{srcexe}')), '/verysilent', ExtractFileDir(ExpandConstant('{srcexe}')), SW_SHOWNORMAL, ewNoWait, ResultCode); Exit; end; Result := True; end; Прошу помощи в решении задачи... |
Отправлено: 23:00, 17-03-2020 | #588 |
Ветеран Сообщения: 978
|
Профиль | Сайт | Отправить PM | Цитировать Alex S, Так не пробовал?
код
[Setup] AppName=My Program AppVerName=My Program v 1.5 DefaultDirName={pf}\My Program OutputDir=. Compression=lzma2/ultra InternalCompressLevel=ultra SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Languages\English.isl" Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [_Code] function InitializeSetup(): Boolean; var i, ResultCode: Integer; begin // проверяем с 1, потому что ParamStr(0) всегда будет имя исполняемого файла for i := 1 to ParamCount do if LowerCase(ParamStr(i)) = '/v' then begin Exec(ExtractFileName(ExpandConstant('{srcexe}')), '/verysilent /LANG=english', ExtractFileDir(ExpandConstant('{srcexe}')), SW_SHOWNORMAL, ewNoWait, ResultCode); Exit; end; Result := True; end; Можно еще такой вариант попробовать: код
[Setup] AppName=My Application AppVersion=1.5 DefaultDirName={pf}\My Application [_Code] function InitializeLanguageDialog(): Boolean; var i : Integer; R : Boolean; begin Result := True; R := False; for i := 1 to ParamCount do begin R := LowerCase(ParamStr(i)) = '/verysilent'; if R then Break; end; if R then Result := False; // тут конструкция в виде Result := not R; может криво стработать, поэтому надежнее так. end; Так, возможно, более правильно:
|
------- Последний раз редактировалось Gnom_aka_Lexander, 21-03-2020 в 01:26. Отправлено: 19:05, 20-03-2020 | #589 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать Gnom_aka_Lexander, спасибо большое!
Приклеил к исходному коду Вашу функцию InitializeLanguageDialog и всё стало работать нормально. В InitializeSetup ключ /LANG не понадобился... Первые тесты пока без глюков. |
Отправлено: 23:00, 20-03-2020 | #590 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|