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

sk07
26-12-2011, 11:38
Читайте NSIS\Docs\nsDialogs\Readme.html там все расписано с примерами, ничего нестандартного в скрипте нет,
я потратил на создание скрипта 20 минут и +10 минут на чтение доков. Во общем пример для всех.
читать дальше»

всё тоже самое можно как-то реализовать для Classic UI ?

kotkovets
26-12-2011, 11:39
wolkow70, в х32 не нужно дублировать реестр, достаточно процедуры регистрации,
проверил на чистой оси XP - 100% вариант.
А вот x64 немного сложнее, в папке Modules программы должны обязательно
присутствовать 2 файла: aimp_menu32.dll и aimp_menu64.dll
При добавлени записей в реестр скорее всего нужно переключать 64-битный вид реестра.
Пока только проверял добавления записей реестра с файла reg, а не установщиком.
И скорее всего нужно в х64 регистрировать тоже aimp_menu32.dll , а затем добалять ключи регистрации aimp_menu64.dll - проверю отпишусь.
всё тоже самое можно как-то реализовать для Classic UI ?
Да, с добавлением хедера в тело скрипта:
!include "nsDialogs.nsh"
И мелкими изменениями, изменения координат контролов,
пробуйте и вылаживайте, если что-то не получается, то
я попробую добавить мозгов скрипту.

wolkow70
26-12-2011, 11:55
Что бы контекстное меню сразу запустилось после установки нужно создать в папке профиля ini-файл. Таким макаром:
SetShellVarContext current
SetOutPath "$APPDATA\AIMP3"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "Menu" "SubItemsCount" "3"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "Menu" "SubItem1" "MenuItemPlay"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "Menu" "SubItem2" "MenuItemInsert"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "Menu" "SubItem3" "MenuItemEditTags"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "Menu" "Cascade" "1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "Menu" "ExtsEdit" "*.ape;*.mac;*.wma;*.wv;*.flac;*.fla;*.ogg;*.oga;*.ofr;*.ofs;*.tak;*.mp3;*.aac;*.mpc;*.mp+;*.tta;"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "Menu" "ExtsPlay" "*.mp3;*.mp2;*.mp1;*.ogg;*.oga;*.umx;*.mod;*.mo3;*.it;*.s3m;*.mtm;*.xm;*.wav;*.m3u;*.m3u8;*.aimppl;*. plc;*.pls;*.xspf;*.wax;*.asx;*.cue;"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "Menu" "ExtsLists" "*.m3u;*.m3u8;*.aimppl;*.plc;*.pls;*.xspf;*.wax;*.asx;*.cue;"
;
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemPlay" "Application" "AIMP3.exe"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemPlay" "Filter" "ExtsPlay"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemPlay" "SendParams" "/ADD_PLAY %1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemPlay" "SupportFiles" "1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemPlay" "SupportDirs" "1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemPlay" "WndClass" "TAIMP2Player"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemPlay" "Caption" "$CONTEXT->1"
;
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemInsert" "Application" "AIMP3.exe"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemInsert" "Filter" "ExtsPlay"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemInsert" "SendParams" "/INSERT %1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemInsert" "SupportFiles" "1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemInsert" "SupportDirs" "1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemInsert" "WndClass" "TAIMP2Player"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemInsert" "Caption" "$CONTEXT->2"

WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemEditTags" "Application" "AIMP3ate.exe"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemEditTags" "Filter" "ExtsEdit"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemEditTags" "SendParams" "%1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemEditTags" "SupportFiles" "1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemEditTags" "SupportDirs" "1"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemEditTags" "WndClass" "TAIMPATEForm"
WriteINIStr "$APPDATA\AIMP3\aimp3_menu.ini" "MenuItemEditTags" "Caption" "$CONTEXT->5"

wolkow70
26-12-2011, 13:25
AIMP3 не видит ассоциации, прописанные в HKLM, даже, если они полностью зеркалятся в HKCR. В окне программы отражаются зарегистрированными только расширения, ассоциированные в HKCU.
Сейчас потестировал аддон от Habetdin. У него просто дублируются записи в HKLM и в HKCU.
Причем попробовал в реестре удалить значения в HKCU и в окне ассоциаций галочки пропали.
Нелепость какая-то. Что-бы тут придумать?

diakov
26-12-2011, 22:20
Доброго времени суток господа! Исследуя тернистые тропы Nsis нарисовалось два вопроса! kotkovets, подскажи
при установке Foxit PhantomPDF Business увидел: при нажатии кнопки help появляется такое окно, как такое реализовать в нсис??
http://s008.radikal.ru/i305/1112/44/b850cc341b7f.jpg
и второе при запуске инсталлятора аимп идет его распаковка и появляется такое окошко (статус распаковки) как самому такое смастерить?

http://i008.radikal.ru/1112/9b/32c3eb465037.jpg
Спасибо!

kotkovets
27-12-2011, 00:15
как самому такое смастерить? »
Вообще это 7z SFX модифицированный модуль - распаковка файлов и запуск установщика.
Такое окошко в NSIS, похожее, появится при объемном установщике и сильном сжатии установщика.
Подобное окошко можно с имитировать еще с помощью:
http://nsis.sourceforge.net/Nxs_plug-in
Foxit PhantomPDF Business увидел: при нажатии кнопки help появляется такое окно »
Такие странички делаются в NSIS только с помощью плагинов, причем своих написанных,
и нет такой необходимости отрисовывать подобное.
Вообще это инсталлятор msi... и для этого есть страничка лицензии.
Вы хоть разберитесь в простых вещах, а то не с того краю начинаете изучать...

silione
28-12-2011, 18:27
Есть ли возможность осуществить такое:
Имеется 3 компонента установки на выбор.
В случае выбора только компонента 1, установка завершается без показа финишной страницы.
В случае выбора только компонента 2 или 1+2, установка завершается с показом финишной страницы v1.
В случае выбора только компонента 3 или 1+3, установка завершается с показом финишной страницы v2.
В случае выбора компонентов 2+3 или 1+2+3, установка завершается с показом финишной страницы v3.

Смысл этого всего в том, что компоненты установки 2 и 3 имеют разные инструкции необходимые к выполнению по завершении установки (1-ый компонент дополнительных инструкций не имеет). Инструкции эти я как раз вывожу на финишной странице.

Или может есть еще какой-то вариант, без финишной страницы? Подскажите пожалуйста.

kotkovets
28-12-2011, 20:07
Или может есть еще какой-то вариант, без финишной страницы? Подскажите пожалуйста »
Да куча вариантов, рисуйте свои странички.
Откажитесь в конце концов от странички финиша...
В случае выбора только компонента 2 или 1+2, установка завершается с показом финишной страницы v1.
В случае выбора только компонента 3 или 1+3, установка завершается с показом финишной страницы v2.
В случае выбора компонентов 2+3 или 1+2+3, установка завершается с показом финишной страницы v3. »
А что значат финишные странички v1,v2,v3 - ?? - O_o, вам достаточно переотрисовывать,
переименовывать компоненты финишной странички, во время открытия странички (callback функция)
В случае выбора только компонента 1, установка завершается без показа финишной страницы »
В этом случае обычное прерывание установки --> Abort,
ессно до этой команды, выполняем необходимые действия при выборе компонента 1.

diakov
29-12-2011, 17:41
Добрый день! kotkovets, есть идея подключить 4 радиобутона (2 на одну прогу, 2 на вторую), вот код для 2


Function switching
${NSD_GetState} $RadioButton $Radio ;снимаем статус отметки радиобуттона
${If} $Radio == 1 ;если радибуттон "Установка обычной версии" отмеченный то...
EnableWindow $CheckBox 1
EnableWindow $CheckBox1 1
EnableWindow $CheckBox2 1
EnableWindow $CheckBox3 1
${NSD_SetState} $CheckBox 1
${NSD_SetState} $CheckBox1 1
${NSD_SetState} $CheckBox2 1
${NSD_SetState} $CheckBox3 1
${NSD_FreeImage} $ImageHandle ;удаляем картинку
${NSD_SetImage} $Image "$PLUGINSDIR\nsis-r.bmp" $ImageHandle ;загружаем картинку
${Else} ;если радибуттон "Установка обычной версии" неотмеченный то...
EnableWindow $CheckBox 0 ;затеняем чекбокс
EnableWindow $CheckBox1 0 ;затеняем чекбокс
EnableWindow $CheckBox2 0 ;затеняем чекбокс
EnableWindow $CheckBox3 0
${NSD_SetState} $CheckBox 0 ;делаем чекбокс неотмеченным
${NSD_SetState} $CheckBox1 0 ;делаем чекбокс неотмеченным
${NSD_SetState} $CheckBox2 0
${NSD_SetState} $CheckBox3 0
${NSD_FreeImage} $ImageHandle ;удаляем картинку
${NSD_SetImage} $Image "$PLUGINSDIR\orange-r.bmp" $ImageHandle ;загружаем картинку
${EndIf}
FunctionEnd


как реализовать такое для 4 радиобутонов ? На до ли подключать !include LogicLib.nsh

если делать так, то не работает...


Function switching
${NSD_GetState} $RadioButton $Radio ;снимаем статус отметки радиобуттона
${If} $Radio == 1 ;если радибуттон "Установка обычной версии" отмеченный то...
События
${NSD_FreeImage} $ImageHandle ;удаляем картинку
${NSD_SetImage} $Image "$PLUGINSDIR\nsis-r.bmp" $ImageHandle ;загружаем картинку
${ElseIf} $Radio1 == 1 ;если радибуттон "Установка обычной версии" неотмеченный то...
события
${NSD_FreeImage} $ImageHandle ;удаляем картинку
${NSD_SetImage} $Image "$PLUGINSDIR\orange-r.bmp" $ImageHandle ;загружаем картинку
${ElseIf} $Radio2 == 1 ;если радибуттон "Установка обычной версии" неотмеченный то...
события
${ElseIf} $Radio3 == 1 ;если радибуттон "Установка обычной версии" неотмеченный то...
события
${EndIf}
FunctionEnd

kotkovets
29-12-2011, 18:59
если делать так, то не работает... »
что не работает?

diakov
29-12-2011, 19:11
Суть идеи такова, хочу запихнуть в один инстальник Wise Disk Cleaner и Wise Registry Cleaner. Так хочу чтобы когда $Radio == 1 установка обычной версии Wise Disk Cleaner и чекбоксы ярлыки на робочем столе и в меню пуск активны и соответс. изображение nsis-r.bmp, если $Radio1 == 1 то распаковка портативной Wise Disk Cleaner и чекбоксы неактивны и соответс. изображение orange-r.bmp, если $Radio2 == 1 установка обычной версии Wise Registry Cleaner и чекбоксы ярлыки на робочем столе и в меню пуск активны и соответс. изображение nsis-r.bmp, если $Radio3 == 1 распаковка портативной версии Wise Registry Cleaner и чекбоксы ярлыки на робочем столе и в меню пуск не активны, вот пробовал так


Function switching
${NSD_GetState} $RadioButton $Radio ;снимаем статус отметки радиобуттона
${If} $Radio == 1 ;если радибуттон "Установка обычной версии" отмеченный то...
событие
${NSD_SetImage} $Image "$PLUGINSDIR\nsis-r.bmp" $ImageHandle ;загружаем картинку
${Elseif} $Radio1 == 1
событие
${NSD_SetImage} $Image "$PLUGINSDIR\orange-r.bmp" $ImageHandle ;загружаем картинку
${Elseif} $Radio2 == 1
событие
${NSD_SetImage} $Image "$PLUGINSDIR\nsis-r.bmp" $ImageHandle ;загружаем картинку
${Elseif} $Radio1 == 1
событие
${NSD_SetImage} $Image "$PLUGINSDIR\orange-r.bmp" $ImageHandle ;загружаем картинку
${EndIf}
FunctionEnd


Не работает!Не меняет картинки, и не затеняет чекбоксы!

kotkovets
29-12-2011, 19:30
Не работает!Не меняет картинки, и не затеняет чекбоксы! »
А почему оно будет какие либо действия???? Где функции обработки событий на клик радибуттона?
!include "MUI2.nsh"
ShowInstDetails show
OutFile "Nstest.exe"

var dlg
var RadioButton
var RadioButton1

Page custom PageInit
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"

Function PageInit
!insertmacro MUI_HEADER_TEXT "О-па" "Вот оно как МИхалыч!"
nsDialogs::Create 1018
Pop $dlg
${NSD_CreateRadioButton} 0u 14u 120u 12u "RadioButton"
Pop $RadioButton
${NSD_SetState} $RadioButton 1 ;делаем радиобутон отмеченным
${NSD_OnClick} $RadioButton RadioButton ;событие отметки радиобутона
;;;;;;;;;
${NSD_CreateRadioButton} 0u 34u 120u 12u "RadioButton1"
Pop $RadioButton1
${NSD_SetState} $RadioButton1 0 ;делаем радиобутон неотмеченным
${NSD_OnClick} $RadioButton1 RadioButton1 ;событие отметки радиобутона
nsDialogs::Show
FunctionEnd

;функция события отметки радиобуттона
Function RadioButton
Pop $RadioButton
${NSD_GetState} $RadioButton $R0
${If} $R0 == 1
MessageBox MB_OK "RadioButton отмеченный" IDOK
${EndIf}
FunctionEnd

;функция события отметки радиобуттона1
Function RadioButton1
Pop $RadioButton1
${NSD_GetState} $RadioButton1 $R0
${If} $R0 == 1
MessageBox MB_OK "RadioButton1 отмеченный" IDOK
${EndIf}
FunctionEnd

Section
SectionEnd

diakov
29-12-2011, 20:32
Спасибо счас бду розбирацо!)

diakov
29-12-2011, 23:27
kotkovets, все получилось но вот теперь такой вопрос... вот скрин

http://s008.radikal.ru/i304/1112/28/d4444c7462f9.jpg

Как все таки правильно реализовать ключи командной строки для тихой установки, например:

Тихая установка Wise Registry Cleaner 6.21 /S /inst1 /
Тихая распаковка Wise Registry Cleaner 6.21 /S /port1 /
Тихая установка Wise Disk Cleaner 6.21 /S /inst2 /
Тихая распаковка Wise Disk Cleaner 6.21 /S /port2 /

пробовал как то так....не получается


ClearErrors
${GetOptions} "$CMDLINE" "/preg" $R0
${If} ${Silent} ;если тихий режим
${IfNot} ${Errors}
StrCpy "$INSTDIR" "$EXEDIR\Wise Registry Cleaner"
;тут пишем все команды при распаковки портативной версии
;здесь будет код выполняться с ключом /port в тихом режиме
StrCpy $Radio1 1 ;распаковка портативной версии
StrCpy $Radio 0 ;запрет установки в обычном режиме
StrCpy $Radio2 0
StrCpy $Radio3 0
${Else}
${GetOptions} "$CMDLINE" "/instreg" $R0
SetOutPath "$INSTDIR"
StrCpy $Radio1 0 ;запрет портативной версии
StrCpy $Radio 1 ;установка в обычном режиме
StrCpy $Radio2 0
StrCpy $Radio3 0
StrCpy $Check 1
StrCpy $Check1 1
MessageBox MB_OK "Wise Registry Cleaner 6.21 установлен в тихом режиме."
${Else}
${GetOptions} "$CMDLINE" "/portdisk" $R0
${If} ${Silent} ;если тихий режим
${IfNot} ${Errors}
StrCpy "$INSTDIR" "$EXEDIR\Wise Disk Cleaner 6.21"
;тут пишем все команды при распаковки портативной версии
;здесь будет код выполняться с ключом /port в тихом режиме
StrCpy $Radio1 0 ;распаковка портативной версии
StrCpy $Radio 0 ;запрет установки в обычном режиме
StrCpy $Radio2 0
StrCpy $Radio3 1
${Else}
${GetOptions} "$CMDLINE" "/instdisk" $R0
SetOutPath "$INSTDIR"
StrCpy $Radio1 0 ;запрет портативной версии
StrCpy $Radio 0 ;установка в обычном режиме
StrCpy $Radio2 1
StrCpy $Radio3 0
StrCpy $Check 1
StrCpy $Check1 1
MessageBox MB_OK "Wise Disk Cleaner 6.21 установлен в тихом режиме."
ClearErrors
${EndIf}
${EndIf}

kotkovets
30-12-2011, 01:05
diakov, Читайте GetOptions тысячу раз говорил, что ли трудно уделить полчаса справкам?
Или скопипастить, что тоже плохо получается или аля лижбы работала?
!include "MUI2.nsh"
!include "FileFunc.nsh"
ShowInstDetails show
OutFile "keycmd.exe"

!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"

Function .OnInit
${If} ${Silent}
ClearErrors
${GetOptions} "$CMDLINE" "/inst=" $R0
${If} $R0 == 1
MessageBox MB_ICONINFORMATION|MB_OK "Меня запустили тихо с ключом : /S /inst=1"
${ElseIf} $R0 == 2
MessageBox MB_ICONINFORMATION|MB_OK "Меня запустили тихо с ключом : /S /inst=2"
${Else}
ClearErrors
${GetOptions} "$CMDLINE" "/port=" $R0
${If} $R0 == 1
MessageBox MB_ICONINFORMATION|MB_OK "Меня запустили тихо с ключом : /S /port=1"
${ElseIf} $R0 == 2
MessageBox MB_ICONINFORMATION|MB_OK "Меня запустили тихо с ключом : /S /port=2"
${Else}
ClearErrors
${EndIf}
${EndIf}
${EndIf}
FunctionEnd

Section
SectionEnd

diakov
30-12-2011, 21:57
kotkovets, почему когда делаю так


${If} ${Silent}
ClearErrors
${GetOptions} "$CMDLINE" "/inst=" $R0
${If} $R0 == 1
SetOutPath "$INSTDIR"
;MessageBox MB_ICONINFORMATION|MB_OK "Меня запустили тихо с ключом : /S /inst=1"
StrCpy $Radio == 1
StrCpy $Check == 1
StrCpy $Check1 == 1
${ElseIf} $R0 == 2
;MessageBox MB_ICONINFORMATION|MB_OK "Меня запустили тихо с ключом : /S /inst=2"
StrCpy $Radio2 == 1
StrCpy $Check == 1
StrCpy $Check1 == 1
${Else}
ClearErrors
${GetOptions} "$CMDLINE" "/port=" $R0
${If} $R0 == 1
StrCpy "$INSTDIR" "$EXEDIR\Wise Registry Cleaner 6.21"
StrCpy $Radio1 == 1
; MessageBox MB_ICONINFORMATION|MB_OK "Меня запустили тихо с ключом : /S /port=1"
${ElseIf} $R0 == 2
;MessageBox MB_ICONINFORMATION|MB_OK "Меня запустили тихо с ключом : /S /port=2"
SetOutPath "$EXEDIR\Wise Disk Cleaner 6.21"
StrCpy $Radio3 == 1
${Else}
ClearErrors
${EndIf}
${EndIf}


не работает, а когда ставлю конкретно действия например вместо StrCpy $Radio1 == 1 пишу из секции:

SetOutPath "$INSTDIR"
File /r "D:\Registry\Wise Registry Cleaner\*.*"
CreateDirectory "$APPDATA\Wise Registry Cleaner"
SetOutPath "$APPDATA\Wise Registry Cleaner"
File /r "D:\Registry\config\*.*"

тогда работает?

kotkovets
30-12-2011, 22:50
не работает, а когда ставлю конкретно действия »
Вы в секции определите, с каким условием, например, если $Radio1 == 1, то:
Section
${If} $Radio1 == 1
;действия
${EndIf}
SectionEnd
Почему я так говорю делать, да очень просто, если есть своя страничка и связанные действия, например с переменной
$Radio1, то при запуске в обычном режиме, вы манипулируете значением переменной $Radio1: отмечен или не отмечен
чекбокс(1 или 0 = $Radio). Еснно, что при запуске в тихом режиме никаких страничек нет, и переменная $Radio1 -
не иницилизирована, соответственно ничего выполняться не будет. Поэтому, если запуск в тихом режиме, то в функции
иницилизации, устанавливаем значение $Radio1: 0 или 1, т.е исходя из выбранных задач. Дальше в секции заданы условия выполненения тех или иных задач, читайте первое предложение сообщения.
Так что, "не работает" не принимается, ищите ошибки в своем скрипте.

frostyland
03-01-2012, 11:07
Здравствуйте.
Простите, может повтор, но полторы сотни страниц не осилить быстро, а надо срочно.
Хочу поставить опцию "ярлык на рабочий стол", но локализуемую.
ТО есть, инсталлятор должен выбрать языковую константу "place link", "поместить ярлык...", "gemacht sheize ))" в зависимости от локали.
Заранее спасибо за подсказку.

Нашел ответ вот тут (http://forum.oszone.net/post-1553443-904.html)
Вкратце
LangString message ${LANG_ENGLISH} "English message"
LangString message ${LANG_FRENCH} "French message"
LangString message ${LANG_KOREAN} "Korean message"
MessageBox MB_OK "A translated message: $(message)"

frostyland
03-01-2012, 12:21
А можно ли на штатное окно, например, MUI_PAGE_STARTMENU, добавить свой контрол.
Хочу, не плодя окон, добавить опцию установки ярлыка на рабочий стол

kotkovets
03-01-2012, 15:07
А можно ли на штатное окно, например, MUI_PAGE_STARTMENU, добавить свой контрол.
Хочу, не плодя окон, добавить опцию установки ярлыка на рабочий стол »
Нет, не позволяет штатный плагин(контрола не видно), альтернатива, на мой взгляд, своя страничка,
там уж добавите свой чекбокс: http://forum.oszone.net/post-1697090-1271.html




© OSzone.net 2001-2012