|
Компьютерный форум 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 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Adjective,
Работает, если правильно собрать. Для текущего релиза это будет команда (текущий путь - ${__FILEDIR__}): ..\makensis.exe /DVERSION=3.06.1 /DVER_MAJOR=3 /DVER_MINOR=6 /DVER_REVISION=1 /DVER_BUILD=0 makensis.nsi |
Отправлено: 21:50, 19-07-2021 | #2591 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать |
Отправлено: 10:45, 20-07-2021 | #2592 |
Ветеран Сообщения: 2355
|
Профиль | Отправить PM | Цитировать Обновил NSIS до 3.08.
Сразу же появилась ошибка при компиляции, связанная с DelRegKey.nsh : !include: error in script: "C:\Program Files\NSIS\Include\DelRegKey.nsh" on line 4 (на 4 строке : !verbose 3) а также ругань на соотв. строку в скрипте, где - !include "DelRegKey.nsh" Как бы это исправить ? ps откатился на v 3.06.1 - всё ок |
Отправлено: 09:46, 02-10-2021 | #2593 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать MKN, возможно дело в неверно распознанной компилятором кодировки DelRegKey.nsh
По крайней мере у меня 3.08 и 3.06.1 считали этот файл как UTF8 Скрытый текст
!include: "C:\PortableApps\NSIS308\Include\DelRegKey.nsh" (UTF8) Bad text encoding: C:\PortableApps\NSIS308\Include\DelRegKey.nsh:4 !include: error in script: "C:\PortableApps\NSIS308\Include\DelRegKey.nsh" on line 4 Error in script "C:\PortableApps\NSIS308\Examples\example1DRK.nsi" on line 27 -- aborting creation process Это лечится явным указанием кодировки включаемого файла |
Отправлено: 17:33, 03-10-2021 | #2594 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Доброго времени суток, товарищи знатоки. Есть вопрос. При переходе с кастомной страницы nsDialog-а на стандартную страницу MUI выбора директории футер ломается в шрифтах и масштабировании. При возврате к предыдущей странице ломается и она. Собственно вопрос - в чем косяк? Что, где, когда искать и чего почитать? Код и скриншоты прилагаю.
!include nsDialogs.nsh !include LogicLib.nsh !include MUI2.nsh !include WinMessages.nsh !define INSTALL_TYPE "SetShellVarContext all" Name "Тестовая программа" OutFile SoftSetup.exe RequestExecutionLevel admin ShowInstDetails show InstallDir "$PROGRAMFILES\Soft" Var Dialog Var CheckSoft Var CheckServer Var CheckClient Var CheckSoftSelect Var CheckServerSelect Var CheckClientSelect Var BoxIP Var EnterServerIP Var ServerIP !insertmacro MUI_PAGE_WELCOME Page custom alPageCreate alPageLeave !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "Russian" Function alPageCreate !insertmacro MUI_HEADER_TEXT "Настройки установки " "Выберете необходимые компоненты для установки" nsDialogs::Create 1018 Pop $Dialog ${If} $Dialog == error Abort ${EndIf} ${NSD_CreateGroupBox} 10% 5u 80% 65u "Компоненты для установки " Pop $0 ${NSD_CreateCheckBox} 15% 20u 40% 10u "Установка компонента 1" Pop $CheckSoft ${NSD_CreateCheckBox} 15% 35u 40% 10u "Установка компонента 2" Pop $CheckServer ${NSD_CreateCheckBox} 15% 50u 40% 10u "Установка компонента 3" Pop $CheckClient ${NSD_OnClick} $CheckClient ServerIpDialog ${NSD_CreateGroupBox} 10% 75u 80% 40u "IP адрес базы данных" Pop $BoxIP ShowWindow $BoxIP ${SW_HIDE} ${NSD_CreateIPAddress} 15% 90u 55% 14u $EnterServerIP Pop $EnterServerIP ShowWindow $EnterServerIP ${SW_HIDE} nsDialogs::Show FunctionEnd Function ServerIpDialog Pop $CheckClient Pop $BoxIP ${NSD_GetState} $CheckClient $0 ${If} $0 == 1 ShowWindow $EnterServerIP ${SW_SHOW} ShowWindow $BoxIP ${SW_SHOW} ${Else} ShowWindow $EnterServerIP ${SW_HIDE} ShowWindow $BoxIP ${SW_HIDE} ${EndIf} FunctionEnd Section "" DetailPrint "Hello, World!" SectionEnd |
Последний раз редактировалось Сырок Дружба, 18-01-2022 в 16:32. Отправлено: 16:21, 18-01-2022 | #2595 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Сырок Дружба,
Косяк, в самом проблемном контроле SysIPAddress32. Обходное решение (которое почему то не вошло в состав nsDialogs.nsh): https://nsis.sourceforge.io/NsDialogs_CreateIPaddress В nsDialogs_createIPaddress.nsh необходимо будет закомментировать или удалить строки |
Отправлено: 17:59, 18-01-2022 | #2596 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать iglezz, понял, принял, пощупал, работает. Благодарю за помощь.
Можно вопрос в образовательных целях. Смысл удаления/комментирования указанных вами строк? Я так полагаю просто для того что бы не было обращения к багнутому контролу; или там повторное использование переменных? Буду признателен за разъяснение. |
Последний раз редактировалось Сырок Дружба, 19-01-2022 в 10:53. Отправлено: 10:33, 19-01-2022 | #2597 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Сырок Дружба,
Комментировать/удалять те строчки надо из-за конфликта с этими же дефайнами в nsDialogs.nsh. |
Отправлено: 15:38, 19-01-2022 | #2598 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать iglezz, понял, принял. Ещё раз благодарю за помощь.
|
Отправлено: 10:36, 20-01-2022 | #2599 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Доброго времени суток! Недавно задался вопросом, как определить Windows 11 в NSIS:
Начиная с ранней сборки "утекшей в сеть", в C:\Windows\System32 появился файл ntkrla57.exe. Так что сначала определяю, есть ли ключ в реестре только для 10ки, А потом проверяю, внимание! Не присутствие файла ntkrla57.exe, а его версию: Скрытый текст
ClearErrors ReadRegDWORD $R9 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "CurrentMajorVersionNumber" IfErrors 0 Win_X StrCpy $R8 "8.1 or Server 2012 R2" Goto Win_End Win_X: ClearErrors GetDLLVersion "C:\Windows\System32\ntkrla57.exe" $R0 $R1 IfErrors 0 Win_11 StrCpy $R8 "10 or Server 2016 - 2019" Goto Win_End Win_11: StrCpy $R8 "11 or Server 2022" Win_End: ClearErrors Скрытый текст
ClearErrors ReadRegDWORD $R9 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "CurrentMajorVersionNumber" ; Если записи в реестре нет, то это 8.1: ${If} ${Errors} StrCpy $R8 "8.1 or Server 2012 R2" ; А Если есть (10), то это 10 или 11: ${Else} ClearErrors GetDLLVersion "C:\Windows\System32\ntkrla57.exe" $R0 $R1 ${If} ${Errors} StrCpy $R8 "10 or Server 2016 - 2019" ${Else} StrCpy $R8 "11 or Server 2022" ${EndIf} ${EndIf} ClearErrors Всё работает отлично! ЗЫ: Пробовал проверять присутствие файла - не работает. Через WMI - нужно получить строку, потом определить, есть ли в строке "11"... В общем, простыня кода. |
Последний раз редактировалось S60Team, 03-02-2022 в 11:23. Отправлено: 11:12, 03-02-2022 | #2600 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|