Показать полную графическую версию : .: NSIS - все вопросы :. часть 2.
предлагаю тебе написать, посидеть, попотеть »
Дык я не ставлю под сомнение, что это труд. Порой нудный и не благодарный... Но резульат такого труда - всегда достоин уважения и вызывает только благодарность у пользователей, для которых собственно и трудился автор. Не только же для себя одного, и не в корзину ? :) Чтоб мы делали без сотен плагинов, которые их авторы, абсолютно альтруистично подарили пользователям.
А уж про сам NSIS и говорить нечего... :) Ессно только слова благодарности.
kotkovets, Здравствуйте, с уважением... Я совсем недавно начал знакомиться со NSIS в довольно узком сегменте свойств. Прочитал в справке о разработанной Вами библиотеке ProcessFunc.nsh для работы с процессами. В справке написано:"Гарантировано работает начиная от Windows 2000 и выше, независимо от разрядности системы х32 или х64." Означают ли эти слова, что средствами библиотеки возможен доступ по всем заявленным функциям к процессам, как 32 битным, так и 64 битным на системе 64 бит? Проверить не могу, такой машины нет...
kotkovets
17-12-2012, 11:48
Означают ли эти слова, что средствами библиотеки возможен доступ по всем заявленным функциям к процессам, как 32 битным, так и 64 битным на системе 64 бит? Проверить не могу, такой машины нет... »
конечно, проверял лично.
---
а также, написанная мною библиотека, полностью совместима с юникодной версией компилятора NSIS
для юникодной nsis файл ProcessFunc.nsh сохраняем в любой кодировке unicode.
Krinkels
18-12-2012, 10:34
Как бы использовать ВСЕ возможности этой DLL в NSIS ? Тут нужны спецы по API... Может помогут расшифровать эту DLL и показать на примерах её прочие возможности... »
Друзья, тут можете скачать (http://narod.ru/disk/7844037001/botva2_0.9.5.130.7z.html) botva2 0.9.5.130 + примеры + описание api
подскажите, возможно ли сделать доп. страницу в инстолляторе c nsDialogs без верхней шапки и с картинкой по всей высоте (см. вложение).
Impeck,
Отредактируй размер в modern.exe и помещай картинку куда угодно.
Моё почтение!
Подучите, пожалуйста, а то своим умишком ни как не дотямлю:
Как на доп. странице выбора компонентов, группы чекбоксов связать с Радиокнопками?
Например Радиокнопка "Для ВСЕХ", с ней связана пара отдельных чекбоксов; вторая Радио "Для текущего", с другими чекбоксами.
Как-бы соорудить, чтобы при выборе радиокнопки "Для ВСЕХ" становились активными ТОЛЬКО чекбоксы "ВСЕХ", а при выборе Радиобуттона "Для текущего" были активны ТОЛЬКО чекбоксы "текущего".
http://i52.fastpic.ru/big/2012/1220/7d/20c092cd626f0eb38fb48e80aa59fc7d.png
Т.е чтобы при выборе "ВСЕМ" отметить чекбоксы "Текущему" было-бы нельзя и наоборот.
snezhinka
20-12-2012, 17:23
Подскажите, пожалуйста. Мне необходимо, чтобы перед установкой пользователь выбрал бы сам необходимый ему файл (путь к нему и название самого файла)..Возможно ли переделать MUI_PAGE_DIRECTORY или это решается только созданием своей страницы?
необходимо, чтобы перед установкой пользователь выбрал бы сам необходимый ему файл »
Открытие файла можно организовать с помощью Dialogs plug-in (http://nsis.sourceforge.net/Dialogs_plug-in)
Привет народ, :)
Вопрос имеется, можно ли привязать вывод этого:
!insertmacro MUI_PAGE_LICENSE ".\Text.rtf"
и подобного ему файлов на страницах установки, к выбранному в Нсис языку?
Максимум что смог добиться это безошибочной компиляции с выводом этих страниц, в которых в место текста пустота.
можно ли привязать »
!insertmacro MUI_PAGE_WELCOME
!define MUI_PAGE_CUSTOMFUNCTION_SHOW "LICENSE_SHOW"
!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\COPYING"
!insertmacro MUI_PAGE_FINISH
Function LICENSE_SHOW
InitPluginsDir
${If} $LANGUAGE == 1049 ;если русский язык установщику
File "/oname=$PLUGINSDIR\info.rtf" "${NSISDIR}\COPYING.rtf"
${ElseIf} $LANGUAGE == 1033 ;если английский язык установщика
File "/oname=$PLUGINSDIR\info.rtf" "${NSISDIR}\COPYING1.rtf"
${ElseIf} $LANGUAGE == 1058 ;если украинский язык установщика
File "/oname=$PLUGINSDIR\info.rtf" "${NSISDIR}\COPYING2.rtf"
${EndIf}
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1000
CustomLicense::LoadFile "$PLUGINSDIR\info.rtf" $0
FunctionEnd
diakov, Спасибо. :)
Вариант твой конечно интересный, но слишком громоздкий + много чего не нужного и лишнего используется...
Относительно, и пока на половину решил проблему так:
;Для блока страниц MUI_PAGE
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "$(license)"
!insertmacro MUI_PAGE_README "$(Readme)"
...
;Далее, после блока MUI_LANGUAGE:
!insertmacro MUI_LANGUAGE "ENGLISH"
!insertmacro MUI_LANGUAGE "ROMANIAN"
!insertmacro MUI_LANGUAGE "GERMAN"
!insertmacro MUI_LANGUAGE "RUSSIAN"
...
;Прописал это:
LicenseLangString license ${LANG_ENGLISH} ".\setup\en\Text_License.rtf"
LicenseLangString license ${LANG_ROMANIAN} ".\setup\ro\Text_License.rtf"
LicenseLangString license ${LANG_GERMAN} ".\setup\de\Text_License.rtf"
LicenseLangString license ${LANG_RUSSIAN} ".\setup\ru\Text_License.rtf"
...
Протестировал вывод файла на трех языковых версиях, все отображается как нужно и в требуемом языке. Осталось только провернуть то же самое со строкой выделенной красным, есть у кого мысли на сей счет? Куда и что копать ?! http://forum.worldofplayers.ru/images/smilies/rolleyes..gif
kotkovets
24-12-2012, 13:10
Куда и что копать ?! »
точно также
kotkovets, Было бы также не спрашивал, первым делом проверил, не работает. Похоже что присвоение второго значения для этой переменной не светит, ибо в "единицу времени" она может быть только одна, когда у меня их уже 2, и больше... Еще мысли есть? http://forum.worldofplayers.ru/images/smilies/rolleyes..gif
Зы, И как напоминание, использую NSIS UTF.
kotkovets
24-12-2012, 15:34
Похоже что присвоение второго значения для этой переменной »
само собой, я имел ввиду: по такой же схеме с другими названиями переменных и функции, наипросто просто! :)
kotkovets, Дай пример, чет не въеду ни как про что ты...
Там ведь суть в чем, в том, что сам дубликат всей строки - не вариант, не зависимо от изменения в нем, названия функции имен используемых переменных и т.д.. Это я имел ввиду, говоря, что нельзя задать для переменной второй адрес каталога с требуемым файлом.
Зы, Если ничего не получится, то хоть польза будет от наших трудов, в справочнике откроешь новый раздел "Функции Нсис":
1. Простые.
2. Преопределенные (как используемая мною в примере, изменять ее, кстати тоже нельзя). :)
Limonica
24-12-2012, 23:50
Всем привет, в Windows есть переменная %USERNAME% отображающая активного пользователя, есть ли такая переменная в NSIS или как можно получить имя оригинального пользователя не используя плагин UserMgr?
Begin2Fly
24-12-2012, 23:54
Всем привет, в Windows есть переменная %USERNAME% отображающая активного пользователя, есть ли такая переменная в NSIS или как можно получить имя оригинального пользователя не используя плагин UserMgr? »
ExpandEnvStrings $1 "%USERNAME%"
MessageBox MB_OK|MB_TOPMOST|MB_USERICON "$1 - текущий пользователь."
Limonica
25-12-2012, 00:12
Спасибо конечно, но дело в том что на англоязычных системах как не странно нет переменной %USERNAME%, нужен альтернативный вариант..
К слову сказать, но почему то не все переменные можно получить через ExpandEnvStrings - в Windows 7 и Windows 8. (в XP - всё получается)
В частности, для "%USERNAME%" всегда работает :
System::Call "advapi32::GetUserName(t .r0, *i ${NSIS_MAX_STRLEN} r1) i.r2"
DetailPrint "User name - $0"
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.