|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
.: NSIS - все вопросы :. часть 2.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
------- Отправлено: 12:02, 09-12-2012 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать Привет
Нужна функция, определяющая, что инсталлятор был запущен из rar-архива, и в зависимости от этого выполнять определённый код. Подскажите, друзья, как мне такое реализовать? Я понимаю, что при запуске из архива, файл инсталлятора распаковывается во временную папку и уже оттуда самозапускается. Но определить, что установщик был запакован в архив всё равно нужно. |
Отправлено: 09:17, 14-12-2018 | #2231 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Serg866:
К примеру, сигнатура WinRAR compressed archive(v4.x) - 52 61 72 21 1A 07 00 Конкретнее есть здесь : https://www.rarlab.com/technote.htm Цитата:
|
||
Последний раз редактировалось MKN, 14-12-2018 в 10:34. Отправлено: 10:18, 14-12-2018 | #2232 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать MKN, к сожалению про сигнатуры я ничего не понял...
При запуске инсталлятора из rar-архива, происходит распаковка во временную папку, и уже из неё инсталлятор автоматически запускается в обычном виде. Путь к временной папке, в которую распаковывается инсталлятор: C:\Documents and Settings\Серж\Local Settings\Temp\Rar$EXa0.XXX (вместо XXX - три случайные цифры) Вот думаю, надо привлекать сюда команду $EXEDIR, определять путь запуска и если в пути присутствует слово "temp" или "rar$", то выполнять определённый код. Меня бы такой вариант устроил. Буду благодарен за пример кода по данному сценарию. |
Последний раз редактировалось Serg866, 14-12-2018 в 11:21. Отправлено: 11:04, 14-12-2018 | #2233 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Serg866,
Т.е. ты сначала запускаешь SFX RAR, из которого в свою очередь запускается NSIS инсталлятор ? А NSIS инсталлятор после запуска определяет откуда он появился на свет ? Если из RAR архива, то... Тогда, раз известны некоторые данные в названии временного файла, можно с этим файлом работать,т.е. узнать RAR это архив или нет. Я правильно понял ? Сигнатура тогда и нужна, для того, чтобы точно определить, какой это файл. (Хотя в темпе ведь уже может быть непредсказуемый винегрет из кучи разных файлов с непредсказуемыми названиями, в том числе и с "temp" или "rar... Тут и сигнатура не поможет. Разве что сначала придётся очищать темп или детектить последнее время создания временного архивного файла... ) ps Зачем такие извращения ? И антивирусы сойдут с ума от такой матрёшки... |
Последний раз редактировалось MKN, 14-12-2018 в 11:43. Отправлено: 11:35, 14-12-2018 | #2234 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать MKN, мне только этого будет достаточно:
1. Определяется путь запуска инсталлятора ($EXEDIR) 2. Если в $EXEDIR есть слово "rar"или "temp", то мессаджбокс и аборт установки. Ничего вычищать из папок не требуется. Зачем мне это надо
Недобросовестные персонажи упаковывают мою программу в winrar-архив, куда также кладут url-файлы ссылок на свои уг-сайты и ещё кучу всякого "добра".
И потом в таком виде на этих сайтах мою программу распространяют против моей воли. Я хочу, чтобы программа определяла, что для запуска использован архив и прекращала установку. |
Отправлено: 12:19, 14-12-2018 | #2235 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Serg866, пожалуйста, не делайте так. Это плохая практика, ибо есть ещё и добросовестные персонажи.
|
Отправлено: 13:02, 14-12-2018 | #2236 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Цитата Serg866:
Подключите код функции к вашему сценарию и в функции инициализации добавьте следующий код (текст сообщения измените в соответствии с вашими пожеланиями): Function .onInit ; В строке пути $EXEDIR ищем подстроку Rar, результат поиска записываем в регистр $0 ${StrContains} $0 "Rar" "$EXEDIR" ; Если в регистре $0 содержится подстрока "Rar", то... ${If} $0 == "Rar" ; Выводим на экран сообщение MessageBox MB_ICONEXCLAMATION|MB_OK "Вы используете нелегальную копию." ; Завершаем работу инсталлятора Quit ${EndIf} ; другие инструкции функции FunctionEnd |
|
Последний раз редактировалось Flix, 14-12-2018 в 14:18. Отправлено: 14:13, 14-12-2018 | #2237 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Flix:
\Documents and Settings\Raritet\Local Settings\Temp\Rar$EXa0.XXX |
|
Отправлено: 15:11, 14-12-2018 | #2238 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Цитата MKN:
|
|
Отправлено: 19:04, 14-12-2018 | #2239 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Flix,
Интересно, как долго висит процесс SFX модуля ? Если процесс ещё существует во время запуска NSIS инсталлятора, то это был бы очень хороший ориентир для детекта... Хорошо бы посмотреть, как работает, "оприходованный" пиратами, инсталлятор Serg866. |
Отправлено: 09:15, 15-12-2018 | #2240 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
[архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|