|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
Но при запуске установщика секция по умолчанию не отмечена... Генератор не влияет на флаги секций, делайте программно расставляйте, указывайте флаги инсталлятора в различных режимах запуска, для таких дел есть хидер Sections.nsh - там куча макросов воздействия на секции программно. |
|
------- Отправлено: 14:54, 19-10-2011 | #1771 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Только тип устанвоки получается "по выбору", а без флагов "полный". |
|
------- Отправлено: 17:23, 19-10-2011 | #1772 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, я что нибудь говорил про типы установок? коль вы мое предыдущее сообщение не читали,
даже не пытаясь поработать с section.nsh, то очевидно - вам это не нужно, тем более мне. |
------- Отправлено: 17:54, 19-10-2011 | #1773 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
|
|
------- Последний раз редактировалось wolkow70, 19-10-2011 в 18:04. Отправлено: 17:57, 19-10-2011 | #1774 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
SectionGetFlags: получаем статус секции SectionGetText: получаем название секции SectionSetFlags: устанавливаем статусы секциям SectionSetText: назначаем название секции Через section.nsh очень удобно использовать эти команды пару дней тренировок на разборки и + применить правильно - больше ниче не нужно! |
|
------- Отправлено: 18:12, 19-10-2011 | #1775 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
Мне алгоритм решения задачи до конца не ясен. То есть, нужно получить имя и статус секции, назначить ей другое название и изменить статус? А как связать это с генератором ответов потом? Просто прописать в файле ответов значение другой секции? |
------- Отправлено: 18:24, 19-10-2011 | #1776 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
!include "MUI2.nsh" OutFile "test.exe" !insertmacro MUI_PAGE_COMPONENTS !insertmacro MUI_LANGUAGE "Russian" Section /o "test" test SectionEnd Section /o "test_1" test1 SectionEnd Function .OnInit ${If} ${FileExists} "$EXEDIR\config.ini" !insertmacro SelectSection ${test} !insertmacro SelectSection ${test1} ${EndIf} FunctionEnd |
|
------- Последний раз редактировалось kotkovets, 19-10-2011 в 19:23. Причина: OutFile "test.exe" Отправлено: 19:19, 19-10-2011 | #1777 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Похоже для начала как-то так:
SectionGetFlags ${AllUser} $0 IntOp $0 $0 | ${SF_SELECTED} SectionSetFlags ${AllUser} $0 Тут сложность в том, что незвестно поведение пользователя. Исходно, имеем радиобутон на две кнопки: 1. Многопользовательская установка (по умолчанию включено) MultiUser 2. Однопользовательская установка (по умолчанию отключена /o) AllUser При ручной установке все работает. По файлу ответов AllUser не отрабатывет. Не известно какой вид установки будет выбран. Видимо после этих секций вставить функцию SectionGetFlags ${AllUser} $0 IntOp $0 $0 | ${SF_SELECTED} SectionSetFlags ${AllUser} $0 Попробовал скомпилировать ничего не получилось. |
------- Последний раз редактировалось wolkow70, 19-10-2011 в 19:32. Отправлено: 19:20, 19-10-2011 | #1778 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70,
Для генератора важно, что бы секция просто была отмечена. Условие работы генератора Тихий режим и файл конфиг, я вам дал пример программной отметки секции, больше ни тут ниче и не нужно, в огород не ходи. |
------- Отправлено: 19:59, 19-10-2011 | #1779 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
${If} ${FileExists} "$EXEDIR\config.ini" !insertmacro SelectSection ${AllUser} ?? Но там и так эта функция гигантская и в какое место тогда логичнее вставить? Function .OnInit StrCpy $1 ${MultiUser} StrCpy $WindowCaption "${PRODUCT_NAME} ${PRODUCT_VERSION}" StrCpy $SysDrive $WINDIR 2 StrCpy $GMODE 0 ;если обычный режим, то $GMODE = 0 StrCpy $WindowCaption "${PRODUCT_NAME} ${PRODUCT_VERSION}" ${WordReplace} "$EXEFILE" ".exe" ".ini" "+" "$INIFILE" ;подменяем расширение на ini c тем же именем, что и установщик StrCpy $INIFILE "$EXEDIR\$INIFILE" ;$INIFILE - путь, где будет создан файл конфигурации ${GetOptions} $CMDLINE "/G" $0 ${IfNot} ${Silent} ; условие работы генератора, если не тихий режим ${AndIfNot} ${Errors} ; И не установлен флаг ошибки ;здесь команды выполняться будут в режиме генератора, до конца конструкции ${EndIf} StrCpy $GMODE 1 ;с ключом /G, $GMODE = 1, режим генератора StrCpy $WindowCaption "Генератор ответов ${PRODUCT_NAME} ${PRODUCT_VERSION}" ;меняем название заголовка IfFileExists "$INIFILE" 0 +2 Delete "$INIFILE" ;удаляем предыдущий файл конфигурации ${EndIf} FunctionEnd |
|
------- Отправлено: 20:07, 19-10-2011 | #1780 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|