|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум 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 |
|
Старожил Сообщения: 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 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить 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 | |
|