Показать полную графическую версию : [архив].: NSIS - все вопросы :.
Limonica
16-08-2012, 14:58
Имеется ли в NSIS команда аналогичная команде в CMD Windows - "SC" (работа со службами)?
Даже не так, нужно просто отредактировать название службы, просто обошёлся параметром WriteRegStr
Vincent7
16-08-2012, 20:01
K.A.V., не получается у меня. Делаю так
Function func
nsDialogs::Create 1018
${NSD_CreateCheckbox} 25u 27u 68u 14u "checkbox"
pop $checkbox
getfunctionaddress $0 text
nsDialogs::OnNotify $checkbox $0
nsDialogs::Show
FunctionEnd
Function text
${NSD_CreateLabel} 0 5u 100u 10u "note"
FunctionEnd
Ведь надпись note должна по идее появлятся только когда курсор на чекбоксе, а она там сразу есть
Creator000
16-08-2012, 20:45
Krinkels, подскажите такую программу.
Но вы меня не поняли. Из папки temp в учебнике брали какие то два файла. Выше писал. Зачем?
Vincent7, не знаю, почему так работает nsDialogs, я в нём не разбирался
Можно таким способом "выкрутиться", но это как-то не красиво получается...
Var Label
Var MyVar
Function func
nsDialogs::Create 1018
${NSD_CreateCheckbox} 25u 27u 68u 14u "checkbox"
pop $checkbox
${NSD_CreateLabel} 0 5u 100u 10u ""
pop $Label
${NSD_OnNotify} $checkbox text
nsDialogs::Show
FunctionEnd
Function text
IntCmp $MyVar 2 0 +2 0
${NSD_SetText} $Label "note"
IntOp $MyVar $MyVar + 1
FunctionEnd
kotkovets
17-08-2012, 01:08
не знаю, почему так работает nsDialogs, я в нём не разбирался »
здесь плагин возвращает в стек указатель на структуру нотификации.
А со структуры (с нужного члена структуры) можно судить: вышел или нет за пределы курсор мыши прямоугольной области чекбокса. Но с чекбоксом плагин возвращает неадекватные значения членов структуры - именно чекбоксами такой глюк, может быть винда - с остальными элементами контролов вроде бы нормально.
Как вариант - в событии нотификации вычислять в "ручную" прямоугольную область чекбокса и координаты курсора мыши....
Очень громоздко и сложный код - не охота возиться.
Проще плагином воспользоваться (тултипы - всплывающие надписи при наведении курсора)
http://nsis.sourceforge.net/ToolTips_plug-in
интересует перепаковка программ (это когда программа лишается своего установщика и надо свой написать). »
Для этого нужно чётко знать и представлять сценарий установки программы. Т.е. что происходит и в какой последовательности, при/после установки с файловой системой и реестром, какие устанавливаются/запускаются "дополнения(службы, сервисы, драйверы и пр.) и т.д.
И только на основании знаний об этих всех действиях, можно делать собственный инсталлятор. Инсталлятор в свою очередь, должен делаться с соблюдением ряда общепринятых правил. И только "на десятом месте" будет всякая ерунда, типа оформления-дизайна и др. не принципиальных вещей...
А установка Oper_ы, описанная в справочнике - всего лишь пример установки готовых инсталляторов из скрипта (с рассказом что, как и зачем), где файл opera installer.msi - собственно сам инсталлятор, а 1049.MST - русскоязычный файл сценария установки этого инсталлятора. Ну и install_flash_player.exe - понятно что.
Как вариант - в событии нотификации вычислять в "ручную" прямоугольную область чекбокса и координаты курсора мыши.... »
А можно ведь возле чекбокса поместить картиночку и наводить мышь на неё, с последующим "всплытием" чего либо.. Это не проще ли получится ?
Creator000
19-08-2012, 21:17
ошибка: File: "{C:\Program Files\NSIS\Contrib\Graphics\My\orange-nsis.bmp" -> no files found
картинка там лежит. почему он ее не видит какие могут быть причины?
картинка там лежит »
Лежит, но не там
почему он »
Кто?
не видит »
какие могут быть причины? »
1. "Он" ослеп
2. "Он" невнимательный
3. Вы "его" обманули
Creator000
19-08-2012, 21:48
Лежит, но не там »
http://i40.fastpic.ru/big/2012/0819/12/ca0f36857fb842ca9cd3c07ea3078412.png
1. "Он" ослеп
2. "Он" невнимательный
3. Вы "его" обманули »
Давай еще варианты.
да ладно? »
ага
Скрином не убедили
Давай еще варианты. »
А что вам ещё дать? :biggrin:
Ну хорошо, держите ещё парочку ;)
1. Вы слепой
2. Вы невнимательный
P.S.
лааадно, вот вам подсказка:
Скопируйте путь не существующего файла из лога ошибки и вставьте в Пуск => Выполнить
Creator000
19-08-2012, 22:18
Скопируйте путь не существующего файла из лога ошибки и вставьте в Пуск => Выполнить »
я вставил C:\Program Files\NSIS\Contrib\Graphics\My\orange-nsis.bmp. открылась картинка. что не правильного?
что не правильного? »
из лога ошибки »
Вставьте то, что указано в логе...
"{C:\Program Files\NSIS\Contrib\Graphics\My\orange-nsis.bmp" »
{C:\Program Files\NSIS\Contrib\Graphics\My\orange-nsis.bmp
а как ее убрать? »
Всмысле как?? Смотрите скрипт своего инсталлятора, где вы там указывали путь к своему изображению, в коде и делайте поправку
Begin2Fly
20-08-2012, 17:43
можно из чужого установщика вытащить интерфейс NSIS? »
Нельзя.
Begin2Fly
20-08-2012, 18:57
Creator000, маловероятно, потому что неизвестно что будет с самим NSIS в ближайшем будущем.
можно из чужого установщика вытащить интерфейс NSIS? »
Именно внешний вид диалогов (как расположены элементы) и сами файлы изображений - да
Для просмотра и извлечения внешнего вида диалогов воспользуйтесь программой ResHacker
Чтобы вытащить файлы изображений - откройте инсталлятор с помощью программы 7-Zip
Creator000
20-08-2012, 20:31
K.A.V., ну естественно мне нужен внешний вид установщика. а что еще то нужно?
Чтобы вытащить файлы изображений - откройте инсталлятор с помощью программы 7-Zip »
это да (и winrar может) но иногда выходит ошибка. файл не может быть открыт как архив.
Creator000
20-08-2012, 22:46
K.A.V., а как сохранять ресурсы например картинки из этой программы? они сохраняются в rc файле
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC