[архив].: NSIS - все вопросы :.

Ответить
 • Просмотры: 54
Аватара пользователя
Belial4444

Re: [архив].: NSIS - все вопросы :.

Сообщение Belial4444 »

Цитата kotkovets:



Конкретно, что ты имеешь в виду?
[архив].: NSIS - все вопросы :.




Фокус и переходы по контролам, нажатие кнопок, копирование-вставка в разные поля и т.п.



Вопрос: как сделать неактивной или совсем убрать кнопку "Show Details" при инсталляции ?

И возможно ли вообще убрать неактивные кнопки "Back" и "Cancel" на финишных страницах ?
Аватара пользователя
asetin_9207

Re: [архив].: NSIS - все вопросы :.

Сообщение asetin_9207 »

kotkovets, спасибо новая версия помогла. Теперь хотелось бы уточнить с проверкой.

Идея такая: Имеется 2 компонента (секции). В 1 устанавливаемом компоненте есть файл Х, во втором устанавливаемом компоненте файл Y.

Так вот, допустим, что я выбрал для установки 1-ый компонент и при написании на моей новой страничке текста, он (текст) должен писаться в устанавливаемый компонент Х, если выбрал 2-ой компонент должно писаться в устанавливаемый файл Y.

Создаваться ничего не должно, только писаться в файлах исходя из выбранного компонента (секции). Как это реализовать?

Моя страничка:



Function fnCustomInit

nsDialogs::Create 1018



Pop $Dialog

${NSD_CreateLabel} 0 5u 100u 10u "Введите свой ник"

Pop $Label

${NSD_CreateText} 0 20u 100% 15u "L4D-Portal.Ru"

Pop $Text

nsDialogs::Show

FunctionEnd



Мои секции:





Section "Stryder emulator(для Garena)" secStryder

SectionIn 3

SetOutPath "$INSTDIR"

File /r E:\stryder\*.*



SectionEnd



Section "Revolution Crew emulator(рекомендуемый)" secRevcrew

SectionIn 4 1

SetOutPath "$INSTDIR"

File /r E:\revcrew\*.*



SectionEnd
Аватара пользователя
kotkovets

Re: [архив].: NSIS - все вопросы :.

Сообщение kotkovets »

Цитата MKN:



Вопрос: как сделать неактивной или совсем убрать кнопку "Show Details" при инсталляции ?
[архив].: NSIS - все вопросы :.




Из справки:

ShowInstDetails

hide|show|nevershow

==========================================

ShowInstDetails hide - показываем кнопку и скрываем окно деталей

ShowInstDetails nevershow -скрываем все

ShowInstDetails show - показываем окно деталей без кнопки

==========================================

При деинсталляции:

ShowUninstDetails
Аватара пользователя
kotkovets

Re: [архив].: NSIS - все вопросы :.

Сообщение kotkovets »

при наличии в скрипте функции



Код:

Код: Выделить всё

!define MUI_CUSTOMFUNCTION_GUIINIT MyGUIInit
Function MyGUIInit
и т.д. как в справке

раскрашивается почему то текст страницы выбора компонентов, а не страницы приветсвия, как было задумано...

И возможно ли изменить фон страницы приветствия (без скин-плагинов) ?
Аватара пользователя
asetin_9207

Re: [архив].: NSIS - все вопросы :.

Сообщение asetin_9207 »

1 секция - Stryder emulator(для Garena)

2 секция - Revolution Crew emulator(рекомендуемый)

Я запустил установщик, выбрал 1-ую секцию для установки, потом выходит моя страница для смены ника:





Код:

Код: Выделить всё

Function fnCustomInit
nsDialogs::Create 1018
Pop $Dialog
${NSD_CreateLabel} 0 5u 100u 10u "Введите свой ник"
Pop $Label
${NSD_CreateText} 0 20u 100% 15u "Сюда ввожу текст"
Pop $Text 
nsDialogs::Show
FunctionEnd

При установке 1-ой секции устанавливается файл - stryder.ini

Так вот надо сделать так, чтобы вводимый текст на моей страничке менял строку

Код:

Код: Выделить всё

Settings Name=Текст

в устанавливаемом файле - stryder.ini



Действие 2-ое:

Я запустил установщик, выбрал 2-ую секцию для установки, потом выходит моя страница для смены ника в которой надо все сделать также как выше, НО уже в другом устанавливаемом файле - rev.ini и строка будет уже такая:

Код:

Код: Выделить всё

steamclient
PlayerName ="Текст"

Коды моих секции:

Секция 1:



Код:

Код: Выделить всё

Section "Stryder emulator(для Garena)" secStryder
SectionIn 3
SetOutPath "$INSTDIR"
File /r E:\stryder\*.*
SectionEnd

Секция 2:



Код:

Код: Выделить всё

Section "Revolution Crew emulator(рекомендуемый)" secRevcrew
SectionIn 4 1
SetOutPath "$INSTDIR"
File /r E:\revcrew\*.*
SectionEnd
Аватара пользователя
kotkovets

Re: [архив].: NSIS - все вопросы :.

Сообщение kotkovets »

asetin_9207

Я реализовал че вы хотели,

но тут глюк один, если в секции ничего - не изменять, то получается запись одновременно двух файлов

если изменить чебоксы на секциях, и даже вернуть в первоначальное состояние секций - то нормуль.

Попробуйте реализовать на своей странице:

C помощью команды RadioButton — зависимый флажок-точка, подобно выбору секций, на стр. выбора компонентов

C помощью команды Label - надпись , описание, как в секциях

А от секций "Stryder emulator(для Garena)" и "Revolution Crew emulator(рекомендуемый) вовсе избавиться!



Помогу вам, тока через форум

Готовый вариант не просите!
Аватара пользователя
asetin_9207

Re: [архив].: NSIS - все вопросы :.

Сообщение asetin_9207 »

!define MUI_ICON "Install.ico" ; - иконка на файл установщика

!define MUI_UNICON "UnInstall.ico" ; - иконка на файл установщика
Аватара пользователя
kotkovets

Re: [архив].: NSIS - все вопросы :.

Сообщение kotkovets »

Подскажите пожалуйста, каким образом "отвязать" текст от правого края поля страницы приветствия

!define MUI_WELCOMEPAGE_TITLE "${PRODUCT_NAME} ${PRODUCT_VERSION}"

расположив PRODUCT_NAME и PRODUCT_VERSION по центру ?
Аватара пользователя
asetin_9207

Re: [архив].: NSIS - все вопросы :.

Сообщение asetin_9207 »

Цитата MKN:



И возможно ли изменить фон страницы приветствия (без скин-плагинов) ?
[архив].: NSIS - все вопросы :.




Открываем файл ${NSISDIR}\Contrib\Modern UI 2\MUI2.nsh и заменяем строку

!include "Pages\Welcome.nsh" на !include "Pages\Welcome_1.nsh" сохраняем

изменения в файл MUI_2.nsh

Открываем файл ${NSISDIR}\Contrib\Modern UI 2\Pages\Welcome.nsh и заменяем все константы ${MUI_BGCOLOR} на 0xFFFF80 (здесь цвет желтый) и сохраняем изменения в файл Welcome_1.nsh.

Подключаем измененый интерфейс Modern:



Код:

Код: Выделить всё

!include "${NSISDIR}\Contrib\Modern UI 2\MUI_2.nsh"

Все эти манипуляции нужны для того, что бы фон стартовой страницы не распространялся на все скрипты!
Аватара пользователя
kotkovets

Re: [архив].: NSIS - все вопросы :.

Сообщение kotkovets »

kotkovets,

Есть ли какой либо приём, для регистрации одной командой всех DLL, находящихся в папке ?

К примеру, есть у меня папка с полсотней библиотек, требующих регистрации. Неужели каждую в отдельности прописывать ?
Ответить

Вернуться в «Автоматическая установка приложений»