![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата diakov:
|
|
------- Отправлено: 13:03, 27-05-2012 | #2731 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать kotkovets, добрый день.
Вот здесь вы отвечали на мой вопрос о выборе одного компонента из группы секций http://forum.oszone.net/showpost.php...postcount=2705 Пожалуйста, скажите как теперь создать секцию, которая не зависела бы никак от группы секций, где предусмотрен выбор одного компонента. А то сейчас получается так, что при установке флажка на новую секцию, автоматически устанавливается флажок и на группе секций... Мне же нужно, чтобы при установке флажка на созданную секцию флажок на группу не ставился бы, т.к в группе секций пользователь должен сам отметить нужный компонент.... А сейчас код настроен таким образом, что считываются абсолютно все секции, включая ту, которую я бы хотел сделать независимой. Вот ниже ваш код, где я добавил независящую секцию (курсивом выделил)... Если Вас не затруднит - подправьте в коде что необходимо для реализации моей просьбы. Большое спасибо. OutFile "example.exe" var hInst !include "MUI2.nsh" !insertmacro MUI_PAGE_WELCOME ;функция во время открытия странички компонентов !define MUI_PAGE_CUSTOMFUNCTION_SHOW COMPONENTS_SHOW ;--------------------------------------------------- !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE Russian ;макрос проверки секций, если одна из секций отмечена возврат - 1, иначе - 0; ;в intsec - указываем количество секций в скрипте !macro CheckSection intsec ret Push ${intsec} System::Store SR2 ${For} $R0 1 $R2 SectionGetFlags $R0 $R1 ${IfThen} $R1 == 1 ${|}${Break}${|} ${Next} Push $R1 System::Store L Pop ${ret} !macroend Section /o "Независящая секция" FREE SectionEnd SubSection /e test IDS_1 Section /o "Компонент №1" ID_1 SectionEnd Section /o "Компонент №2" ID_2 SectionEnd Section /o "Компонент №3" ID_3 SectionEnd Section /o "Компонент №4" ID_4 SectionEnd Section /o "Компонент №5" ID_5 SectionEnd Section /o "Компонент №6" ID_6 SectionEnd SubSectionEnd Function .onSelChange !insertmacro StartRadioButtons $1 !insertmacro RadioButton ${ID_1} !insertmacro RadioButton ${ID_2} !insertmacro RadioButton ${ID_3} !insertmacro RadioButton ${ID_4} !insertmacro RadioButton ${ID_5} !insertmacro RadioButton ${ID_6} !insertmacro EndRadioButtons !insertmacro CheckSection 6 $R0 StrCmp $R0 0 0 +2 EnableWindow $hInst ${SW_HIDE} ;отключаем кнопку "установить" StrCmp $R0 1 0 +2 EnableWindow $hInst ${SW_SHOW} ;включаем кнопку "установить" FunctionEnd Function .OnInit StrCpy $1 ${ID_1} SectionSetFlags ${IDS_1} ${SECTION_OFF} ;фиктивно отключаем группу FunctionEnd Function COMPONENTS_SHOW GetDlgItem $hInst $HWNDPARENT 1 ;находим HWND кнопки "установить" !insertmacro CheckSection 6 $R0 StrCmp $R0 0 0 +2 EnableWindow $hInst ${SW_HIDE} ;отключаем кнопку "установить" StrCmp $R0 1 0 +2 EnableWindow $hInst ${SW_SHOW} ;включаем кнопку "установить" FunctionEnd |
Последний раз редактировалось Olef2387, 27-05-2012 в 14:13. Отправлено: 14:06, 27-05-2012 | #2732 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Olef2387, ничего дальше путного, стандартными методами не получится...
для этого нужно плаг писать - нет желания. |
------- Отправлено: 15:38, 27-05-2012 | #2733 |
Новый участник Сообщения: 29
|
Профиль | Отправить PM | Цитировать Хорошо, ну всё равно спасибо.
Подожду K.A.V'a, может быть он что-нибудь сообразит ![]() |
Отправлено: 16:52, 27-05-2012 | #2734 |
Новый участник Сообщения: 41
|
Профиль | Отправить PM | Цитировать Добрый день!
подскажите как узнать есть ли у пользователя права администратора? IsUserAdmin утверждается, что старый макрос что испольщовать сейчас? |
Отправлено: 16:47, 28-05-2012 | #2735 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата dix75:
--- в справочнике --> UserInfo: Определение типа учетной записи и правами по этому же движку работает плаг, тока удобнее пользоваться. |
|
------- Отправлено: 17:52, 28-05-2012 | #2736 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
подскажите пожалуйста в чем допущена ошибка? Сделал так: Function Find StrCpy $R0 $R8 StrCpy $R1 $R9 Push $0 FunctionEnd ; Function .OnInit StrCpy $WindowCaption "Установка CyberLink Decoder Pack 2012" ; ${Locate} "$PROGRAMFILES\CyberLink" "/L=F /M=PowerDVD* /S=" "Find" ; IfErrors Next MessageBox MB_OK "$$R0=$R0" MessageBox MB_OK|MB_ICONEXCLAMATION|MB_TOPMOST "На этом компьютере установлен программый продукт CyberLink PowerDVD,$\nили имеются сохраненные файлы этого Приложения.$\nДанный пакет не предназначен для инсталляции в систему с установленной$\nпрограммой CyberLink PowerDVD.$\nУстановка CyberLink Decoder Pack 2012 будет прекращена" Abort Next: FunctionEnd При деинсталляции и новой установке все нормально. Реагирует на наличие любого файла в папке. Сообщение выводится $R0= |
------- Последний раз редактировалось wolkow70, 29-05-2012 в 16:37. Отправлено: 14:40, 29-05-2012 | #2737 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
указанной папки для поиска - не существует, а если папка пуста, то флага ошибки нет. Соответственно в переменной $R0, после завершения работы макроса, оказывается последнее значение (функция Find вызывается в макросе циклически, пока не будет найден последний файл), а если папка пуста ???!!! |
|
------- Отправлено: 19:11, 29-05-2012 | #2738 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Section ${Locate} "C:\ftp" "/L=F /M=RPC DCOM.rar /S=1K" "Example1" ; Поиск 'RPC DCOM.rar' файла в папке 'C:\ftp' с размером 1 Kb или больше IfErrors 0 +2 MessageBox MB_OK "Ошибка" IDOK +2 MessageBox MB_OK "$$R0=$R0" SectionEnd Function Example1 StrCpy $R0 $R9 ; $R0="C:\ftp\files\RPC DCOM.rar" MessageBox MB_YESNO '$R0$\n$\nИскать дальше?' IDYES +2 StrCpy $0 StopLocate Push $0 FunctionEnd |
|
------- Отправлено: 22:50, 29-05-2012 | #2739 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
да еще размерам файлы равным 1024 байтам (/S=1K) ? делается очень просто, если папка есть(или нет), но нет файлов нужных - $R0 = 0, иначе в $R0 количество найденных файлов Дальше банальное сравнение значения $R0 и вытекающими действиями. |
|
------- Последний раз редактировалось kotkovets, 30-05-2012 в 09:06. Причина: StrCpy $R0 0 Отправлено: 23:13, 29-05-2012 | #2740 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. | ssaram | Программное обеспечение Windows | 406 | 12-02-2022 19:45 | |
WinstyleMonitor .:[все вопросы]:. | Mr dUSHA | Проект WinStyle | 331 | 12-02-2014 13:15 | |
Delphi - Delphi .: [все вопросы] :. | Serega | Программирование и базы данных | 94 | 04-05-2013 18:45 | |
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. | Microsoft Windows 2000/XP | 105 | 30-06-2010 11:58 | ||
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|