Показать полную графическую версию : [архив].: NSIS - все вопросы :.
открываем ${NSISDIR}\Include\defines.nsh »
Нет у меня такой библиотеки. (и тут http://nsis.sourceforge.net/Include/ - не значится) Или она доустанавливается отдельно ?
kotkovets
29-09-2010, 16:41
открываем ${NSISDIR}\Include\defines.nsh »
${NSISDIR} - это папка куда установлен NSIS...(C:\Program Files\NSIS)
извиняюсь, defines.nsh - не идет в стандартной комлектации,..это по моему для плагинов, заголовочный файл.
kotkovets,
Дык, где всё-таки про расшифровку $0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $R0, $R1, $R2, $R3, $R4, $R5, $R6, $R7, $R8, $R9 узнать ?
kotkovets
29-09-2010, 16:56
Дык, где всё-таки про расшифровку... »
Ну вы сами сказали, статистические переменные, изначально в NSIS заложена такая возможность.
kotkovets,
Мне не ясно, что каждая из них означает и в каких случаях используется.
Когда, к примеру, используются $R0, $R1, а когда $0, $1 ? И почему именно они ?
kotkovets
29-09-2010, 17:57
Мне не ясно, что каждая из них означает и в каких случаях используется »
Дык в любых, на вкус и цвет... :) хоть $0 или $R9 не важно.
kotkovets,
Мдя... Ясности не появилось... Можно конкретный пример с подробными комментариями ?
kotkovets
29-09-2010, 18:23
что каждая из них означает »
Изначально ничего.. но хранить или записать значение можно и использовать в своих задачах...:)
ReadRegStr $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion" "ProgramFilesDir"
MessageBox MB_OK "$1"
Вместо $1 можно записать от $0 до $R9.
Свои переменные объявляем, если стандартных не хватает,бывает часто..если много фич и проверок в инсталляторе.
Var MKN
...
ReadRegStr $MKN HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion" "ProgramFilesDir"
MessageBox MB_OK "$MKN "
Суть тоже не изменится :)
ReadRegStr $1 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion" "ProgramFilesDir" - Читаем реестр результат в $1
Уважаемые эксперты, подскажите пожалуйста как реализовать в nsis следующее:
во время установки инсталятор выполняет определенные действия, после чего выдает сообщение: "установка продолжится после перезагрузки компьютера нажмите "ок" чтобы перезагрузить компьютер сейчас или "отмена" чтобы перезагрузить компьютер позже." После чего либо перезагрузить компьютер (кнопка "ок") и самостоятельно вновь запустить установку, либо просто закрыть инсталятор, а после перезагрузки пользователем самостоятельно вновь запуститься. Еще одно пожелание если инсталятор был запущен с ключем "/S" то он должен вести себя как будто была нажата кнопка отмена, но после перезагрузки он самостоятельно запустился бы, но с ключем "/S".
Это возможно реализовать? или хотя бы часть этого?
ЗЫ: заранее спасибо.
kotkovets
30-09-2010, 00:06
Это возможно реализовать? »
Можно.
Если все сделать как вы написали, то нужно проверку делать, че установилось(как у Alcohol 120%),
а то получится вечный запуск или сообщение: перезагрузить или нет.. :)
проверку делать »
с этим я уже разобрался, зацикливания не будет...
Можно. »
сори за наглость, а можно поподробнее =)
kotkovets
30-09-2010, 01:17
а можно поподробнее »
Легко!
Section
;скрипт
IfFileExists "Путь к файлу че установилось" Not_Install ;если что то установилось переход Not_Install
IfSilent Silent
MessageBox MB_OKCANCEL "Установка продолжится после перезагрузки!$\r$\n\
Перезагрузить компьютер сейчас?" IDCANCEL CANCEL
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "Setup" '"$EXEPATH"'
;здесь выполнение скрипта будет только с обычным запуском
Reboot ;перезагрузка
CANCEL:
Quit ;Выход, если пользователь нажал кнопку отмена
Silent:
;здесь выполнение скрипта будет только с ключом /S !!!
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" "Setup" '"$EXEPATH /S"'
;продолжение скрипта
Not_Install:
SectionEnd
хранить или записать значение »
Т.е. это своеобразныйи указатель на сохраняемое, типа как в регистре, значение ? И далее можно оперировать именно этим указателем-регистром, а не самими значениями ? Если так , то ясно и почему бы в справке сразу так не указать...
Только возникает ещё вопрос - почему их только 20 (а вдруг надо 50 ?) и почему они именно таким образом обозначены (а не $A $B $C или просто вольно - $фигня1, 2 и т.д. ) ? И чем они в таком случае отличаются от назначаемых(объявляемых) мной переменных ?
kotkovets
30-09-2010, 09:10
Т.е. это своеобразныйи указатель на сохраняемое, типа как в регистре, значение ? И далее можно оперировать именно этим указателем-регистром, а не самими значениями ? »
Совершенно верно!
Только возникает ещё вопрос - почему их только 20 »
Никогда таким вопросом не задавался.Скриптовый язык NSIS отдаленно смахивает на язык С\С++, вот и оттуда, может
тянутся хвосты.
ещё вопрос, можно ли при помощи nsis создать службу? если да то какой командой?
kotkovets
30-09-2010, 11:30
ещё вопрос, можно ли при помощи nsis создать службу? »
http://nsis.sourceforge.net/NsSCM_plug-in
http://nsis.sourceforge.net/Services_plug-in
Подскажите, можно ли средствами NSIS создавть вирульные каталоги IIS?
kotkovets
04-10-2010, 12:31
вирульные каталоги... А ето че такое?
если у Вас установлен IIS (Internet Information Services) (это WEB сервер от Microsoft) выберите в нем свой веб-узел. и в менюшке - создать - виртуальный каталог... а дальше там все понятно :)
kotkovets
04-10-2010, 14:20
mshak,
Честно и не знаю, не задавался таким вопросом.
http://nsis.sourceforge.net/Category:Plugins не ходили? может там есть че....
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC