|
Компьютерный форум 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 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать Накидал вот такой код:
!include "MUI2.nsh" !include "WinMessages.nsh" !include "x64.nsh" !include nsDialogs.nsh OutFile "Sample.exe" Var DIALOG Var TEXT Var Button1 Var Button2 Var Is32 Var Is64 Page custom nsDialogsPage LeaveDialog !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_LANGUAGE "English" Function nsDialogsPage ;${If} ${RunningX64} nsDialogs::Create 1018 Pop $DIALOG ${NSD_CreateLabel} 10u 10u 100% 29u "Выберите один из следующих типов установки:" Pop $TEXT ${NSD_CreateRadioButton} 20u 50u 100% 12u "64-битная версия программы" Pop $Button1 ${NSD_CreateRadioButton} 20u 75u 100% 12u "32-битная версия программы" Pop $Button2 ${NSD_SetState} $Button1 1 Call Components64 ${NSD_OnClick} $Button1 Components64 ${NSD_OnClick} $Button2 Components32 nsDialogs::Show ;${Else} ; IntOp $Is32 0 + 1 ;${EndIf} FunctionEnd Function Components64 IntOp $Is64 0 + 1 IntOp $Is32 0 + 0 FunctionEnd Function Components32 IntOp $Is64 0 + 0 IntOp $Is32 0 + 1 FunctionEnd Function LeaveDialog Call DefineSections FunctionEnd Section /o "" SEC_64BIT SectionEnd Section /o "" SEC_32BIT SectionEnd Function DefineSections IntCmp $Is64 1 is64 next is64: SectionSetText ${SEC_64BIT} "Секция для 64-версии" next: IntCmp $Is32 1 is32 next2 is32: SectionSetText ${SEC_32BIT} "Секция для 32-версии" next2: FunctionEnd Цитата:
В .onInit происходит поиск этих самых хостов и определение секций. И вот мне надо сделать чтобы при определении секций ещё учитывался и выбор версии плагина. |
|
Отправлено: 13:38, 31-07-2015 | #1721 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Можно ли вот этот как нибудь организовать в NSIS?
|
Отправлено: 13:47, 31-07-2015 | #1722 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата tony1990:
Т.е. если нужно показать только для x64, то прописываем этим секциям текст и прописываем пустые имена тем секциям, которые не должны отображаться в x64 !include "MUI2.nsh" !include "WinMessages.nsh" !include "x64.nsh" !include nsDialogs.nsh OutFile "Sample.exe" Var DIALOG Var TEXT Var Button1 Var Button2 Var Is32 Var Is64 Page custom nsDialogsPage LeaveDialog !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_LANGUAGE "English" Function nsDialogsPage ;${If} ${RunningX64} nsDialogs::Create 1018 Pop $DIALOG ${NSD_CreateLabel} 10u 10u 100% 29u "Выберите один из следующих типов установки:" Pop $TEXT ${NSD_CreateRadioButton} 20u 50u 100% 12u "64-битная версия программы" Pop $Button1 ${NSD_CreateRadioButton} 20u 75u 100% 12u "32-битная версия программы" Pop $Button2 ${NSD_SetState} $Button1 1 Call Components64 ${NSD_OnClick} $Button1 Components64 ${NSD_OnClick} $Button2 Components32 nsDialogs::Show ;${Else} ; IntOp $Is32 0 + 1 ;${EndIf} FunctionEnd Function Components64 IntOp $Is64 0 + 1 IntOp $Is32 0 + 0 FunctionEnd Function Components32 IntOp $Is64 0 + 0 IntOp $Is32 0 + 1 FunctionEnd Function LeaveDialog Call DefineSections FunctionEnd Section /o "" SEC_64BIT SectionEnd Section /o "" SEC_32BIT SectionEnd Function DefineSections IntCmp $Is64 1 is64 next is64: SectionSetText ${SEC_64BIT} "Секция для 64-версии" SectionSetText ${SEC_32BIT} "" next: IntCmp $Is32 1 is32 next2 is32: SectionSetText ${SEC_64BIT} "" SectionSetText ${SEC_32BIT} "Секция для 32-версии" next2: FunctionEnd Цитата Edzan:
|
||
------- Последний раз редактировалось K.A.V., 31-07-2015 в 13:57. Отправлено: 13:52, 31-07-2015 | #1723 |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать Вопрос по примеру из Cправочника по NSIS.
Работа со строками. Замена строки в текстовом файле. читать дальше
Имеются ли какие-либо ограничения по кодировке обрабатываемых текстовых файлов?
Мне нужно было заменить значение Lang=9 на Lang=22 в файле 01.ini. И ничего у меня не вышло. При просмотре того, что же, все-таки, выводится в переменную $R9, увидел следующее: Текст обрабатывался посимвольно. Напротив, другой файл (02.ini) обрабатывался правильно - построчно. Единственное отличие файлов, которое я нашел - различная кодировка. 01.ini - USC2 Little Endian, 02.ini - ANSI. Что можно сделать? |
Отправлено: 19:13, 31-07-2015 | #1724 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Kopejkin,
Попробуй NewTextreplace плагин. Он и читает, и ищет и делает многое другое, в том числе и в юникодных файлах. |
Отправлено: 11:51, 01-08-2015 | #1725 |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
|
|
Отправлено: 20:26, 01-08-2015 | #1726 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать А можно ли в кастомной странице используя nsDialogs::Create 1018 поменять надписи в хэдере на свои? Или же только nsDialogs::Create 1044 использовать?
|
Отправлено: 11:01, 02-08-2015 | #1727 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Добрый день) подскажите если не сложно как прописать что бы инсталлятор определял версию операционки 32 или 64. Спасибо
|
Отправлено: 10:48, 03-08-2015 | #1728 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Sharinganx3:
Далее в коде использовать: |
|
------- Отправлено: 10:53, 03-08-2015 | #1729 |
Новый участник Сообщения: 21
|
Профиль | Отправить PM | Цитировать |
Отправлено: 11:53, 03-08-2015 | #1730 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|