|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Старожил Сообщения: 322
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Section "!${PRODUCT_NAME}" SectionIn 1 2 3 RO SetOutPath "$INSTDIR" File /r "prog\*.*" WriteUninstaller "$OUTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$OUTDIR\prog.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$OUTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" SectionEnd ;=================================================================================================== ====================== SectionGroup "Цветовая тема оформления" Section /o "Белая" ID_1 SetOutPath "$INSTDIR" File /r "White\*.*" SectionEnd Section "Чёрная" ID_2 SetOutPath "$INSTDIR" File /r "Black\*.*" SectionEnd SectionGroupEnd Function .onSelChange !insertmacro StartRadioButtons $1 !insertmacro RadioButton ${ID_1} !insertmacro RadioButton ${ID_2} !insertmacro EndRadioButtons FunctionEnd По идее всё нормально, при инстоляции по умолчанию "Чёрная" "Цветовая тема оформления", но если попытаться переставить галочку на "Белая" то галочка вместо того чтобы пропасть с "Чёрная" пропадает с "!${PRODUCT_NAME}", и вернуть её туда не удаётся , хотя при повторном нажатиии на "Белая" галочка с "Чёрная" пропадает, но на "!${PRODUCT_NAME}" не появляется. Подскажите в чем моя ошибка плиз... |
|
------- Отправлено: 12:05, 20-10-2009 | #201 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 13:07, 20-10-2009 | #202 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать Помогите плиз решить задачу:
1. Надо устанавливать кучу компонентов но 2 из них для своей работы требуют стороний продукт. создаю вот такую группу: SectionGroup /e group1 Section "component 1" id1 SectionEnd SectionGroupEnd SectionGroup /e group2 Section "component 2" id2 SectionEnd SectionGroupEnd Section "service" SectionEnd знаю что надо подписаться на .onSelChange а вот что написать внутри - без понятия. 2. установку service можно проверить через реестр и допустим если он уже стоит надо пропускать его установку. это можно на этапе самой установки, т.е галочка чекнута а по реестру видим что всё стоит то просто пропустить. |
Отправлено: 14:15, 29-10-2009 | #203 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Oput:
Цитата Oput:
Section "MyService" Предположу, что системное имя нашей службы MyService, а отображаемое - "Моя служба" ; Определяю, установлена ли служба, читая значение ключа, которое отображает полное имя нашей службы ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Services\MyService" "DisplayName" StrCmp $0 "Моя служба" NoServiceInstall 0 ########## # Код установки службы ########## NoServiceInstall: SectionEnd |
||
------- Отправлено: 14:28, 29-10-2009 | #204 |
Новый участник Сообщения: 9
|
Профиль | Отправить PM | Цитировать первое вроде как реализовал, вернее нашёл пример на nsis. За второе ОГРОМНОЕ спасибо. Может кому пригодиться:
Section "Section 2" Sec2 SectionEnd SectionGroup "s1" Sec3 Section "Section 3" ExecWait "cmd" SectionEnd SectionGroupEnd SectionGroup "s2" Sec4 Section "Section 4" SectionEnd SectionGroupEnd Function .onInit # This is necessary otherwise Sec3 won't be selectable for the first time you click it. SectionGetFlags ${Sec2} $R0 IntOp $R0 $R0 & ${SF_SELECTED} StrCpy $IndependentSectionState $R0 FunctionEnd Function .onSelChange Push $R0 Push $R1 # Check if Sec2 was just selected then select Sec3 and Sec4. SectionGetFlags ${Sec2} $R0 IntOp $R0 $R0 & ${SF_SELECTED} StrCmp $R0 $IndependentSectionState +3 StrCpy $IndependentSectionState $R0 Goto UnselectDependentSections StrCpy $IndependentSectionState $R0 Goto CheckDependentSections # Select Sec2 if Sec3 or Sec4 was selected. SelectIndependentSection: SectionGetFlags ${Sec2} $R0 IntOp $R1 $R0 & ${SF_SELECTED} StrCmp $R1 ${SF_SELECTED} +3 IntOp $R0 $R0 | ${SF_SELECTED} SectionSetFlags ${Sec2} $R0 StrCpy $IndependentSectionState ${SF_SELECTED} Goto End # Were Sec3 or Sec4 just unselected? CheckDependentSections: SectionGetFlags ${Sec3} $R0 IntOp $R0 $R0 & ${SF_SELECTED} StrCmp $R0 ${SF_SELECTED} SelectIndependentSection SectionGetFlags ${Sec4} $R0 IntOp $R0 $R0 & ${SF_SELECTED} StrCmp $R0 ${SF_SELECTED} SelectIndependentSection Goto End # Unselect Sec3 and Sec4 if Sec2 was unselected. UnselectDependentSections: SectionGetFlags ${Sec3} $R0 IntOp $R1 $R0 & ${SF_SELECTED} StrCmp $R1 ${SF_SELECTED} 0 +3 IntOp $R0 $R0 ^ ${SF_SELECTED} SectionSetFlags ${Sec3} $R0 SectionGetFlags ${Sec4} $R0 IntOp $R1 $R0 & ${SF_SELECTED} StrCmp $R1 ${SF_SELECTED} 0 +3 IntOp $R0 $R0 ^ ${SF_SELECTED} SectionSetFlags ${Sec4} $R0 End: Pop $R1 Pop $R0 FunctionEnd |
Отправлено: 16:05, 29-10-2009 | #205 |
Старожил Сообщения: 322
|
Профиль | Отправить PM | Цитировать надо чтобы инстолятор nsis перед началом установки проверил установлен ли в системе к примеру netframework или другой нужный компонент (его наличие можно проверить по определённому файлу или ключу в реестре), и затем выдал окошко в котором предложил бы: если компонет установлен то переустановить его или продолжить установку, а если нет то установить его...
возможно ли это реализовать? |
------- Отправлено: 18:30, 25-11-2009 | #206 |
Идиот Сообщения: 1125
|
Профиль | Сайт | Отправить PM | Цитировать ReadRegStr $R0 HKLM "Software\МойСофт" "МойАдскийКлюч" StrCmp $R0 "Значение ключа" lblKeyExists 0 MessageBox MB_ICONQUESTION|MB_YESNO "АХТУНГ!. Нету ключа реестра. Будем ставить компонент?" IDYES 0 IDNO lblSkipSetup ExecWait 'команда установки' goto lblSkipSetup lblKeyExists: MessageBox MB_ICONQUESTION|MB_YESNO "АХТУНГ!. Есть ключ рееста. Переставим компонент?" IDYES 0 IDNO lblSkipSetup ExecWait 'Команда перестановки' lblSkipSetup: ...... |
------- Отправлено: 21:04, 25-11-2009 | #207 |
Ветеран Сообщения: 598
|
Профиль | Отправить PM | Цитировать Какая проблема в етом файле:
|
Последний раз редактировалось volk1234, 25-11-2009 в 22:48. Причина: не забываем про тег code Отправлено: 22:11, 25-11-2009 | #208 |
Идиот Сообщения: 1125
|
Профиль | Сайт | Отправить PM | Цитировать Файлы дистрибутивов NSIS декомпиляции не подлежат. Уже неоднократно обсуждалось, что получить исходный NSI-файл не получится, максимум - извлечь файлы дистрибутива. Пишите свой скрипт, если нужна помощь, обращайтесь, поможем. Или выпросите скрипт у автора продукта, как вариант.
|
------- Отправлено: 22:51, 25-11-2009 | #209 |
Старовер Сообщения: 1708
|
Профиль | Отправить PM | Цитировать Извиняюсь забыл сделать обьявление -
Посоветовавшись с предыдущим автором темы desperate сделал куратором темы (и новым автором темы) hb860 Предыдущий автор не мог уделять много времени поддержке этой темы. Куратор может редактировать только шапку и свои сообщения - в остальном все как обычно... |
------- Отправлено: 22:56, 25-11-2009 | #210 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|