|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
Function .OnInit ;-- ;-- ${If} ${Silent} ${If} ${FileExists} "файл конфигурации созданный генератором" !insertmacro SelectSection ${AllUser} ;---- ${EndIf} ${EndIf} FunctionEnd если узнаем, что юзер отметил - отмечаем программно нужную секцию. Это вам задачка будет поучиться... |
|
------- Последний раз редактировалось kotkovets, 19-10-2011 в 20:54. Отправлено: 20:46, 19-10-2011 | #1781 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Имеет значение секция с каким типом установки выбрана и прописана в файле конфигурации. Что-то так примерно... 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} ;========================================================================================== ;${If} ${Silent} ${If} ${FileExists} "$EXEDIR\FSImage.ini" MessageBox MB_OK "файл конфигурации есть" ReadINIStr $0 "$EXEDIR\FSImage.ini" "Sections" "AllUser" MessageBox MB_OK $0 StrCmp $0 "1" 0 +2 !insertmacro SelectSection ${AllUser} ${EndIf} FunctionEnd ${EndIf} ${EndIf} FunctionEnd так не компилируется, пришлось расставить ${EndIf} ${If} ${Silent} и так не компилируется, пришлось закоментировать. |
|
------- Последний раз редактировалось wolkow70, 20-10-2011 в 11:12. Отправлено: 09:29, 20-10-2011 | #1782 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
${If} ${Silent} ${If} ${FileExists} "$EXEDIR\FSImage.ini" MessageBox MB_OK "файл конфигурации есть" ReadINIStr $0 "$EXEDIR\FSImage.ini" "Sections" "AllUser" StrCmp $0 "1" 0 +2 !insertmacro SelectSection ${AllUser} ${EndIf} ${EndIf} макрос в скрипте - не рассматривается как одна команда! |
|
------- Отправлено: 11:23, 20-10-2011 | #1783 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
${EndIf} ${EndIf} FunctionEnd Цитата kotkovets:
И почему-то с ${If} ${Silent} показывает логическую ошибку |
||
------- Отправлено: 11:45, 20-10-2011 | #1784 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, на глупые вопросы не буду отвечать, ищите ляпы в своем скрипте,
все компилится и работает. И функию .OnInit следует прописать в скрипте, после определения всех секций, это нужно компилятору. |
------- Отправлено: 11:57, 20-10-2011 | #1785 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Если конструкцию закрыть так ${EndIf} ${EndIf} FunctionEnd , то компилиться, но секция АllUser не отрабатывает. А если расставить как у меня , то отрабатывает. |
|
------- Отправлено: 12:03, 20-10-2011 | #1786 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать ${If} ${Silent}
${If} ${FileExists} "$EXEDIR\FSImage.ini" MessageBox MB_OK "файл конфигурации есть" ReadINIStr $0 "$EXEDIR\FSImage.ini" "Sections" "AllUser" MessageBox MB_OK $0 ${If} $0 == 1 !insertmacro SelectSection ${AllUser} ${Else} ${EndIf} ${EndIf} ${EndIf} ${EndIf} FunctionEnd Вот так компилируется, но секция не отрабатывает все равно... |
------- Отправлено: 12:35, 20-10-2011 | #1787 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать kotkovets,
${EndIf} ;========================================================================================== ${If} ${Silent} ${If} ${FileExists} "$EXEDIR\FSImage.ini" MessageBox MB_OK "файл конфигурации есть" ReadINIStr $0 "$EXEDIR\FSImage.ini" "Sections" "AllUser" MessageBox MB_OK $0 ${If} $0 == 1 !insertmacro SelectSection ${AllUser} ${Else} ${EndIf} ${EndIf} ${EndIf} FunctionEnd Вот так работает. Я через логическую конструкцию стал запускать макрос. Но, если ${EndIf} сверху перетащить вниз, то секция перестает отрабатывать. То есть, первую логическую конструкцию приходится закрывать перед открытием второй. Видимо конфликтует что-то внутри функции.. |
------- Последний раз редактировалось wolkow70, 20-10-2011 в 13:24. Отправлено: 12:53, 20-10-2011 | #1788 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать wolkow70, Ну слава богу!
${If} ${Silent} ${If} ${FileExists} "$EXEDIR\FSImage.ini" ReadINIStr $0 "$EXEDIR\FSImage.ini" "Sections" "AllUser" ${If} $0 == 1 !insertmacro SelectSection ${AllUser} ${EndIf} ${EndIf} ${EndIf} FunctionEnd начало и конец каждой логики, чем лепить все в один столбик - легко запутаться. |
------- Отправлено: 13:30, 20-10-2011 | #1789 |
Пользователь Сообщения: 58
|
Профиль | Отправить PM | Цитировать у меня есть вопрос
вот я создаю контрол с линком идет обработчик клика на линк ну и соответственно функция onClickMyLink которая открывает в браузере линк вопрос такой, если у меня на странице несколько линков, мне для обработки нужно делать для каждого контрола свою функцию? или можно как то передать параметрами? что тот типа и затем можно что-то подобное реализовать? |
Отправлено: 13:50, 20-10-2011 | #1790 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|