Войти

Показать полную графическую версию : .: NSIS - все вопросы :. часть 2.


Страниц : 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

MKN
15-12-2012, 14:47
предлагаю тебе написать, посидеть, попотеть »
Дык я не ставлю под сомнение, что это труд. Порой нудный и не благодарный... Но резульат такого труда - всегда достоин уважения и вызывает только благодарность у пользователей, для которых собственно и трудился автор. Не только же для себя одного, и не в корзину ? :) Чтоб мы делали без сотен плагинов, которые их авторы, абсолютно альтруистично подарили пользователям.
А уж про сам NSIS и говорить нечего... :) Ессно только слова благодарности.

Salmo
17-12-2012, 01:24
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

Impeck
18-12-2012, 14:26
подскажите, возможно ли сделать доп. страницу в инстолляторе c nsDialogs без верхней шапки и с картинкой по всей высоте (см. вложение).

MKN
18-12-2012, 15:10
Impeck,
Отредактируй размер в modern.exe и помещай картинку куда угодно.

Valdise
20-12-2012, 13:21
Моё почтение!
Подучите, пожалуйста, а то своим умишком ни как не дотямлю:
Как на доп. странице выбора компонентов, группы чекбоксов связать с Радиокнопками?
Например Радиокнопка "Для ВСЕХ", с ней связана пара отдельных чекбоксов; вторая Радио "Для текущего", с другими чекбоксами.
Как-бы соорудить, чтобы при выборе радиокнопки "Для ВСЕХ" становились активными ТОЛЬКО чекбоксы "ВСЕХ", а при выборе Радиобуттона "Для текущего" были активны ТОЛЬКО чекбоксы "текущего".
http://i52.fastpic.ru/big/2012/1220/7d/20c092cd626f0eb38fb48e80aa59fc7d.png
Т.е чтобы при выборе "ВСЕМ" отметить чекбоксы "Текущему" было-бы нельзя и наоборот.

snezhinka
20-12-2012, 17:23
Подскажите, пожалуйста. Мне необходимо, чтобы перед установкой пользователь выбрал бы сам необходимый ему файл (путь к нему и название самого файла)..Возможно ли переделать MUI_PAGE_DIRECTORY или это решается только созданием своей страницы?

MKN
20-12-2012, 17:59
необходимо, чтобы перед установкой пользователь выбрал бы сам необходимый ему файл »
Открытие файла можно организовать с помощью Dialogs plug-in (http://nsis.sourceforge.net/Dialogs_plug-in)

MaGoth
23-12-2012, 16:30
Привет народ, :)
Вопрос имеется, можно ли привязать вывод этого:
!insertmacro MUI_PAGE_LICENSE ".\Text.rtf"
и подобного ему файлов на страницах установки, к выбранному в Нсис языку?

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

diakov
23-12-2012, 18:07
можно ли привязать »


!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

MaGoth
23-12-2012, 20:23
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
Куда и что копать ?! »
точно также

MaGoth
24-12-2012, 14:50
kotkovets, Было бы также не спрашивал, первым делом проверил, не работает. Похоже что присвоение второго значения для этой переменной не светит, ибо в "единицу времени" она может быть только одна, когда у меня их уже 2, и больше... Еще мысли есть? http://forum.worldofplayers.ru/images/smilies/rolleyes..gif

Зы, И как напоминание, использую NSIS UTF.

kotkovets
24-12-2012, 15:34
Похоже что присвоение второго значения для этой переменной »
само собой, я имел ввиду: по такой же схеме с другими названиями переменных и функции, наипросто просто! :)

MaGoth
24-12-2012, 15:43
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%, нужен альтернативный вариант..

MKN
25-12-2012, 08:58
К слову сказать, но почему то не все переменные можно получить через 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