|
Компьютерный форум 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 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Автозакрытие - это уже будет больше походить на хак. А если это будет какой-нить Word? Тогда слишком усложняется весь процесс инсталлятора: надо всем процессам (приложения и службы) послать команду "закрыть" (как это сделать пока не знаю), а потом ждать закрытия каждого процесса... Долго будет и муторно программировать.
|
Отправлено: 12:51, 25-11-2014 | #1371 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
|
|
Отправлено: 12:54, 25-11-2014 | #1372 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Хак в том, чтобы инсталлятор закрыл приложение. Я не знаю, как это сделать (WM_CLOSE для приложения, а для службы как, имея хэндл процесса?). Лучше я оставлю как есть. А то больно сложный код инсталлятора получается.
Хотя вот есть плагин KillProcDLL_plug-in |
Отправлено: 12:59, 25-11-2014 | #1373 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
|
|
Последний раз редактировалось MKN, 25-11-2014 в 13:15. Отправлено: 13:03, 25-11-2014 | #1374 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать У меня наоборот: процессы нужные есть (полный путь к файлу), а вот кода по закрытию пока нет. Попробую, поищу.
Я так понял, что для закрытия процессов (приложений и служб) мне одного LockedList хватит? |
Отправлено: 13:04, 25-11-2014 | #1375 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
|
|
Отправлено: 13:20, 25-11-2014 | #1376 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать А в LockedList есть возможность самому составить список процессов?
Вроде есть: Adds a custom item to the list with a callback function. Значит, буду шаманить. Цитата MKN:
|
|
Отправлено: 13:20, 25-11-2014 | #1377 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
|
|
Отправлено: 13:40, 25-11-2014 | #1378 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Нашел минус в LockedList: если процесс - служба, то он завершает ее принудительно, хотя можно это сделать мягко.
|
Отправлено: 15:17, 25-11-2014 | #1379 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Как создать массив данных (или просто переменная) в длл на делфи так, чтобы потом с этим массивом/переменной можно было работать в NSIS?
Например, у меня в длл есть такая переменная: library libname; type TProcessInfo = record .. end; TProcessesInfo = array of TProcessInfo; var Processes: TProcessesInfo; b: Byte; ... procedure proba1(const hwndParent: HWND; const string_size: integer; const variables: PAnsiChar; const stacktop: pointer); cdecl; var Descr: AnsiString; i: Integer; begin // setup global variables g_stringsize := string_size; g_hwndParent := hwndParent; g_stacktop := stacktop; g_variables := variables; Inc(b); NSISDialog(Format('%d', [b]), 'proba', MB_OK); end; exports proba1; begin end. Всегда показывает "1", т.е. значение предыдущего вызова теряется. Как так? |
Отправлено: 13:01, 27-11-2014 | #1380 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|