|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
.: NSIS - все вопросы :. часть 2.
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
------- Отправлено: 12:02, 09-12-2012 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать Тоесть получается, что нельзя сделать перезагрузку именно из функции нажатия бутона, а надо пихать Reboot в секцию установки...но мне это не подходит...хотел именно так...
Как же посоветуешь выйти из ситуации kotkovets, или можно что то придумать? |
Отправлено: 08:58, 20-06-2013 | #401 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать diakov,
Если я правильно понял, то раз после нажатия OK сообщения, сразу предполагается Reboot , т.е. по сути, сначала закрытие-выход инсталлятора, а затем уже Reboot - то можно закрыть инсталлятор после нажатия ОК и после закрытия, организовать Post функцию с Reboot и с условием, что был нажат нужный ОК. А вот для этого условия могут быть варианты... |
Последний раз редактировалось MKN, 20-06-2013 в 09:41. Отправлено: 09:31, 20-06-2013 | #402 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:25, 20-06-2013 | #403 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать diakov,
Самое простое, если устанавливается драйвер, то в TEMP ещё помещается и маркерный файл (предположим пустой файл - drv) и исходя из его наличия совершается нужное действие (перезагрузка) после закрытия инсталлятора. ( Нет маркерного файла - нет перезагрузки. ) !include "MUI2.nsh" OutFile "Test_OK-Reboot.exe" !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" Section SetOutPath "$TEMP" File "drv" MessageBox MB_ICONEXCLAMATION|MB_OK "ОК - перезагрузка." Quit SectionEnd Function .onGUIEnd ${If} ${FileExists} "$TEMP\drv" MessageBox MB_OK "Reboot" Delete "$TEMP\drv" ;Reboot ${Else} ${EndIf} FunctionEnd Наверняка можно и по другому сделать. |
Последний раз редактировалось MKN, 20-06-2013 в 13:06. Отправлено: 12:59, 20-06-2013 | #404 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать MKN, немного не то, мне надо что бы перезагрузка происходила именно после выполнения всех команд в функции нажатия бутона, пробовал писать Quit, Abort и т.д. не помогает инстальник не закрывается, как сделать это именно в функции что бы он закрылся?
Если воспользоватся командой ${KillProcess} то инстальник убивается но ф-ция .onGUIEnd не отрабатывает. |
Отправлено: 14:01, 20-06-2013 | #405 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать diakov,
Вызови функцию из функции или ещё откуда : Section Call ClickButton1 SectionEnd Function ClickButton1 SetOutPath "$TEMP" File "drv" MessageBox MB_ICONEXCLAMATION|MB_OK "ОК - перезагрузка." Quit FunctionEnd Function .onGUIEnd ${If} ${FileExists} "$TEMP\drv" ;MessageBox MB_OK "Reboot" Delete "$TEMP\drv" Reboot ${Else} ${EndIf} FunctionEnd |
Отправлено: 15:50, 20-06-2013 | #406 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать MKN, ну вот допустим так:
Function ClickButton1 pop $btn1 IfFileExists "$SYSDIR\drivers\sptd.sys" 0 NotFiles MoreInfo::GetFileVersion "$SYSDIR\drivers\sptd.sys" Pop $1 ${StrFilter} "$1" "1" "." "()" $0 MessageBox MB_USERICON|MB_YESNO 'Обнаружена установленная версия драйвера SPTD $0.$\n Хотите обновить драйвер до версии 1.83? $\n$\n (В конце установки ПК будет автоматически перезагружен.)' IDYES +2 IDNO Abort ${If} ${RunningX64} ExecWait '"$PLUGINSDIR\SPTD64.exe" add /q' ${Else} ExecWait '"$PLUGINSDIR\SPTD86.exe" add /q' ${EndIf} WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "Setup" '"$EXEPATH"' SetOutPath "$TEMP" File "D:\ystanovka\Alcohol 120\diakovreb.txt" Quit NotFiles: ${If} ${RunningX64} ExecWait '"$PLUGINSDIR\SPTD64.exe" add /q' ${Else} ExecWait '"$PLUGINSDIR\SPTD86.exe" add /q' ${EndIf} WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "Setup" '"$EXEPATH"' SetOutPath "$TEMP" File "D:\ystanovka\Alcohol 120\diakovreb.txt" Quit FunctionEnd Function .onGUIEnd BrandingURL::Unload ${If} ${FileExists} "$TEMP\diakovreb.txt" MessageBox MB_ICONEXCLAMATION|MB_OK "После нажатия на кнопку ОК компьютер автоматически перезагрузится." Delete "$TEMP\diakovreb.txt" Reboot ${Else} ${EndIf} FunctionEnd Можна тупо написать автоитовский скрипт и сэмулировать нажатия на кнопки, но хочется средствами нсис... |
Отправлено: 16:35, 20-06-2013 | #407 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата diakov:
![]() здесь винда, вот на помощь и идет апи.. завершить процесс можно и плагинами или читая наш справочный материал. зы. но внезапное прерывание не выгружает плагинов загруженные нсисом.. это я в скрипте вижу - BrandingURL |
|
------- Отправлено: 19:03, 20-06-2013 | #408 |
Старожил Сообщения: 176
|
Профиль | Отправить PM | Цитировать kotkovets, так какой выход посоветуете из ситуации?
|
Отправлено: 20:34, 20-06-2013 | #409 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать diakov,
как алкоголь 120% установку видели.. вот точно так можно.. что тут сложного.. в установку все перенести ps. или отдельно написать установку драйвера (на nsis) - кнопкой тупо запускать установщик ( в тихом режиме).. |
------- Последний раз редактировалось kotkovets, 20-06-2013 в 21:30. Отправлено: 21:17, 20-06-2013 | #410 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|