PDA

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


Страниц : 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 147 148 149 150 151 152 153 154 155 156 157 [158] 159 160 161 162 163 164 165 166 167 168 169 170

Creator000
11-09-2012, 22:03
я так понимаю в каждом плагин и библиотека в nsis использует свой язык?

K.A.V.
12-09-2012, 13:10
я так понимаю в каждом плагин и библиотека в nsis использует свой язык? »
ммм...английский? :yes:

Честно сказать, "я понял, что ничего не понял из ваших слов"

Creator000
12-09-2012, 20:08
K.A.V., про такие штучки fnCustomInit в справочнике не нашел. (NSIS_Руководство_пользователя)

K.A.V.
13-09-2012, 08:13
K.A.V., про такие штучки fnCustomInit в справочнике не нашел »
Я же вам отвечал страницу назад! В данной функции прописывются создание элементов и в конце функции команда на показ диалога, ничего там сверхъестветсвенного нет, столько примеров уже и в этой теме и есть в справочнике...

Creator000
16-09-2012, 17:44
а что лучше InstallOptions, InstallOptionsEx или nsDialogs ?

MKN
17-09-2012, 10:11
а что лучше InstallOptions, InstallOptionsEx или nsDialogs ? »
Если бы ты прочёл хотя бы первые строки Eng дока, то увидел бы суть перевода :
"nsDialogs это новый NSIS плагин, появившийся взамен InstallOptions. nsDialogs не использует INI-файлов, что делает процесс создания страниц более быстрым и более гибким."
А уж, что кому лучше - дело индивидуальное... Но логика подсказывает, что в данном случае, лучше следовать прогрессу...

diakov
17-09-2012, 17:43
Добрый день! Такой вопрос как выполнить средствами нсис команду в cmd.exe например "ipconfig /flushdns" читал о плагине ExecCmd но чето не пойму че к чему...

MKN
19-09-2012, 11:28
diakov,
команда :
ExecCmd::Exec "ipconfig /flushdns"
Ессно необходимо наличие плагина, а именно ExecCmd.dll

dix75
20-09-2012, 12:56
Подскажите пожайлуста
можно ли из NSIS сделать простой запрос(GET) на определенный урл?

MKN
20-09-2012, 17:17
dix75,
Посмотри здесь : http://nsis.sourceforge.net/Category:Internet_Functions
А также посмотри на плагины : Inetc plug-in NSISdl plug-in Internet plug-in и подобные

Creator000
21-09-2012, 23:43
почти все хорошо в вашей справке только вот мне не понятны не которые функции и команды, а именно когда и в каких ситуациях их нужно применять.

K.A.V.
22-09-2012, 15:53
когда и в каких ситуациях их нужно применять. »
И что вам ответить на такой вопрос, как думаете?

Я отвечу так: когда есть необходимость скопировать файл - прописываете команду копирования файла

Это очевидно...Как ещё ответить на ваш вопрос, я даже не знаю...

Это тоже самое, что: у меня есть автомобиль, мне нужно съездить куда-то
Вопрос: когда заводить автомобиль?

Limonica
22-09-2012, 17:51
Как работать с манифестом, в готовом инсталляторе, при изменении данных выскакивает ошибка.

MKN
22-09-2012, 19:53
когда и в каких ситуациях их нужно применять »
Когда такая "ситуация (какая" , похоже знаешь только ты сам...) возникнет. Такого рода вопросы задаются по мере возникновения "ситуаций" в процессе работы (или постановки задачи) и тогда, когда в справочнике либо нет информации по интересующему вопросу,
либо что то не получается в процессе, как тебе кажется, "правильного" применения имеющейся справочной информации.
Тогда - скрипт "в студию"с внятной формулировкой вопроса-задачи (а не как у Limonica постом выше ).

Creator000
22-09-2012, 22:11
У меня есть команда Page которая создает новую страницу.
Есть функция:
Function fnCustomInit
nsDialogs::Create 1018
Pop $Dialog
${NSD_CreateRadioButton} 0 5u 100u 10u "компонент 1"
Pop $RadioButton
${NSD_CreateRadioButton} 0 18u 100u 10u "компонент 2"
Pop $RadioButton
nsDialogs::Show
FunctionEnd
Как видите у меня там два флажка.

Есть секции com1 id1 и com2 id2 /o.

Далее из вашей Справки вычитал функцию выбора:
Function .onSelChange (кстати, не нашел такую функцию в aimp2)
!insertmacro StartRadioButtons $1
!insertmacro RadioButton ${id1}
!insertmacro RadioButton ${id2}
!insertmacro EndRadioButtons
FunctionEnd

Выбор по умолчанию:
Function .onInit
StrCpy $1 ${id1}
FunctionEnd

Не получается у меня все это связать в одно.

K.A.V.
22-09-2012, 22:30
Creator000, функция .onSelChange обрабатывается только на стандартной страничке компонентов

Вы же, используете собственную страничку компонентов, поэтому прописывайте в функциях относящихся к вашим радиокнопкам (которые будут выполнятся при нажатии на радиокнопку) команды на снятие/установку статусов
Используйте для назначения функций радиокнопкам команды ${NSD_OnClick}

kotkovets
22-09-2012, 22:38
Function .onSelChange »
Эта встроенная функция для стандартной странички выбора компонентов!
делается так, специально для флудил, которые б**ть, ни справки не читают и по русски не понимают:
!include MUI2.nsh

Name "nsDialogs Example"
OutFile "nsDialogs Example.exe"

Var dlg
Var RadioButton
Var RadioButton1

Page custom nsDialogPage nsDialogPageDestroy
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"

Function nsDialogPage
nsDialogs::Create 1018
Pop $dlg
${NSD_CreateRadioButton} 0 5u 100u 10u "компонент 1"
Pop $RadioButton
${NSD_CreateRadioButton} 0 28u 100u 10u "компонент 2"
Pop $RadioButton1
${NSD_SetState} $RadioButton 1 ;устанавливаем состояние флажка компонент 1 в (1)
${NSD_SetState} $RadioButton1 0 ;устанавливаем состояние флажка компонент 2 в (0)
nsDialogs::Show
FunctionEnd

Function nsDialogPageDestroy ;функция которая выполняется после закрытия стр. nsDialogPage
${NSD_GetState} $RadioButton $R9 ;считываем состояние флажка "компонент 1" в переменную $R9
${NSD_GetState} $RadioButton1 $R8
FunctionEnd

Section ""
${If} $R9 == 1
MessageBox MB_ICONINFORMATION|MB_OK '"компонент 1" отмечен!$\n"компонент 2" не отмечен!' IDOK
${ElseIf} $R8 == 1
MessageBox MB_ICONINFORMATION|MB_OK '"компонент 2" отмечен!$\n"компонент 1" не отмечен!' IDOK
${EndIf}
SectionEnd

---
Используйте для назначения функций радиокнопкам команды ${NSD_OnClick} »
используются только в режиме реального времени обработки нажатий батонов, радиобатонов и чебоксов :)

Creator000
22-09-2012, 23:01
Мда. тут уже матом шлют
и чего читать если в вашей справке это не написано?
я так и не смог ничего найти про nsDialogPage. а с английским плохо. fnCustomInit nsDialogPage одно и то же?
Спасибо за помощь.

kotkovets
22-09-2012, 23:21
я так и не смог ничего найти про nsDialogPage. а с английским плохо. fnCustomInit nsDialogPage одно и то же? »
читать нужно, и ни кто матом шлать не будет...
названия функций произвольно задают латинскими буквами...
Команда Page custom fnCustomInit fnCustomDestroy буквально означает — создать пользовательскую страницу, выполнить функцию fnCustomInit при создании, при закрытии страницы выполнить функцию fnCustomDestroy. Ничего сложного, не так ли ?

Oleg48
23-09-2012, 00:13
Уважаемые форумчане, знатоки NSIS, хотел задать вопрос по поводу локализации приложений на Windows 7x64. Появилась небольшая проблема с удалением ярлыков из меню "Пуск" в Windows 7x64, простой код удаления ярлыков:
Delete "$DESKTOP\4 элемента.lnk"
Delete "$SMPROGRAMS\Misteria Games\4 элемента\Удалить программу.lnk"
Delete "$SMPROGRAMS\Misteria Games\4 элемента\Web-сайт программы.lnk"
Delete "$SMPROGRAMS\Misteria Games\4 элемента\4 элемента.lnk"
RMDir "$SMPROGRAMS\Misteria Games\4 элемента"

Не удаляет ярлыки, они остаются в меню "Пуск", они почему то остаются в папке "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\", удалять их приходится добавление кода с прямым обращение к этой папке:

Delete "$DESKTOP\4 элемента.lnk"
Delete "$SMPROGRAMS\Misteria Games\4 элемента\Удалить программу.lnk"
Delete "$SMPROGRAMS\Misteria Games\4 элемента\Web-сайт программы.lnk"
Delete "$SMPROGRAMS\Misteria Games\4 элемента\4 элемента.lnk"
RMDir "$SMPROGRAMS\Misteria Games\4 элемента"

Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Misteria Games\4 элемента\Удалить программу.lnk"
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Misteria Games\4 элемента\Web-сайт программы.lnk"
Delete "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Misteria Games\4 элемента\4 элемента.lnk"
RMDir "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Misteria Games\4 элемента"

Подскажите пожалуйста какой-нибудь более простой не такой карявый способ удаления ярлыков в меню "Пуск" в Windows 7x64, может нужно добавить какие-нибудь компоненты что-бы ярлыки сценарий удалял коректно.




© OSzone.net 2001-2012