|
Компьютерный форум 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 | Цитировать Есть у меня старый проект, который создается инсталлятором Install Aware Express 7 R2. При удалении длл, даже если они используются другими приложениями, эти длл удаляются без перезагрузки. Как мне так же сделать в NSIS? Есть идеи?
|
Отправлено: 07:36, 24-11-2014 | #1361 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
Как это дело довести до ума, пока неизвестно... Но ,если "по правилам", ситуации, когда при удалении\установки ПО, DLL этого ПО занята чем либо - быть не должно. Раз DLL занята, то следовательно открыто какое то приложение, которое использует эту DLL. А, как известно "из азбуки", перед установкой\удалением любого ПО, сначала должны быть закрыты все открытые приложения ! ( Причины этого не раз рассматривались... ) О чём пользователь получает соответсвующее предупреждение (если ПО написано нормальным программером ). В NSIS это легко организовать с помощью LockedList плагина. Вероятно некоторые разработчики при удалении\установки своего ПО принудительно закрывают, именно те приложения/процессы, которые мешают удалению\установке... Что не всегда допустимо... Наверно, правильнее было бы получать сообщение, типа - такая то конкретная DLL не может быть удалена, пока Вы не закроете такое то конкретное приложение. (LockedList, к слову, так не умеет... Но можно привлечь для этого утилитку WhoUses.exe, что не оч интересно... ) Если кто подскажет, как в NSIS организовать именно такое сообщение - будет здОрово и полезно. |
|
Последний раз редактировалось MKN, 25-11-2014 в 11:42. Отправлено: 11:00, 25-11-2014 | #1362 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Я решил сделать так:
- удалить файл длл - если не удалился, то показать, какие процессы его держат (я написал плагин на Делфи, который в стеке возвращает процессы). Показываю окошко "MessageBox MB_ABORTRETRYIGNORE|MB_ICONEXCLAMATION" - если юзер нажал "Пропустить", то я удаляю файл через "Delete /REBOOTOK", в реестре в "RunOnce" прописываю прогу, которая заменит файлы. Если коротко, то так. |
Отправлено: 12:15, 25-11-2014 | #1363 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
|
|
Отправлено: 12:23, 25-11-2014 | #1364 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Удалится без перезагрузки. Я, как пользователь, ненавижу эту штуку в инсталляторах. Поэтому в моем случае можно все норм. установить без перезагрузки: юзер видит, какие процессы держат файл, юзер может закрыть их и нажать кнопку "Повтор" - в этом случае длл будет заменена норм, без перезагрузки.
|
Последний раз редактировалось Sann-X!, 25-11-2014 в 12:32. Отправлено: 12:27, 25-11-2014 | #1365 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
Если получает сообщение о том, какой процесс удерживает DLL и закрыть ли этот процесс и удалить DLL ? - то тогда всё нормально, всё понятно. Других действий и не нужно... (закрытие процесса и удаление DLL ведь предполагается нажатием одной кнопки в сообщении ? ) |
|
Отправлено: 12:33, 25-11-2014 | #1366 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Не, плагин только выдает список процесссов, которые держат файл. А в самом NSIS уже вывожу "MessageBox MB_ABORTRETRYIGNORE|MB_ICONEXCLAMATION" и анализирую действие юзера. А так да, в самом сообщении прошу закрыть указанные процессы.
|
Отправлено: 12:38, 25-11-2014 | #1367 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
|
|
Отправлено: 12:41, 25-11-2014 | #1368 |
Новый участник Сообщения: 22
|
Профиль | Отправить PM | Цитировать Ну, юзер выберет из 2х зол меньшее: либо самому закрыть процессы или сделать перезагрузку компа. А разве есть 3й вариант?
|
Отправлено: 12:44, 25-11-2014 | #1369 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Sann-X!:
|
|
Отправлено: 12:49, 25-11-2014 | #1370 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|