|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
.: NSIS - все вопросы :. часть 2.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
------- Отправлено: 12:02, 09-12-2012 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Цитата K.A.V.:
значит не судьба Vincent7 |
||
------- Отправлено: 22:45, 01-12-2013 | #821 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 96
|
Профиль | Отправить PM | Цитировать section "f" ExecDos::exec /NOUNLOAD /ASYNC /DETAILED '"$SYSDIR\cmd.exe" /c $EXEDIR\sisInstall.exe extractAll I:\sku.sis D:\h' sleep 3000 FindWindow $0 "ConsoleWindowClass" "$SYSDIR\cmd.exe" IsWindow $0 +2 0 MessageBox MB_OK|MB_ICONSTOP "not found" idok System::Call 'user32::GetWindowThreadProcessId(ir0, *l.r0)' System::Call 'kernel32::AttachConsole(ir0)i.r0' System::Call 'kernel32::GetStdHandle(i -11)i.r0' FileWrite $0 "Test" sectionend |
Отправлено: 01:13, 02-12-2013 | #822 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Vincent7:
Вы хотите что сделать, чтобы запустить консоль, отправить туда текст, а потом чтобы ваше консольное приложение его прочитало и отобразило в NSIS окне? Пожалуй, я воздержусь в дальнейшем от ответов на ваши сообщения, сидите тут пудрите нам мозги откровенно говоря, нет чтобы четко и ясно разъснить, что вы хотите сделать Цитата Vincent7:
|
||
------- Отправлено: 01:31, 02-12-2013 | #823 |
Пользователь Сообщения: 96
|
Профиль | Отправить PM | Цитировать плагин execDos с параметром /DETAILED отправляет содержимое командной сроки окну установщика
|
Отправлено: 01:41, 02-12-2013 | #824 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Vincent7, скажу просто: не тупите!
а то цирк уехал, а клоуны остались.. |
------- Отправлено: 02:18, 02-12-2013 | #825 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Вызов диалогового окна выбора файлов
Пример для '*.nsi;*.nsh' Caption "Диалоговоое окно выбора файлов" OutFile "OpenFile_Test.exe" SilentInstall silent !define OFN_READONLY 0x00000001 !define OFN_OVERWRITEPROMPT 0x00000002 !define OFN_HIDEREADONLY 0x00000004 !define OFN_NOCHANGEDIR 0x00000008 !define OFN_SHOWHELP 0x00000010 !define OFN_ENABLEHOOK 0x00000020 !define OFN_ENABLETEMPLATE 0x00000040 !define OFN_ENABLETEMPLATEHANDLE 0x00000080 !define OFN_NOVALIDATE 0x00000100 !define OFN_ALLOWMULTISELECT 0x00000200 !define OFN_EXTENSIONDIFFERENT 0x00000400 !define OFN_PATHMUSTEXIST 0x00000800 !define OFN_FILEMUSTEXIST 0x00001000 !define OFN_CREATEPROMPT 0x00002000 !define OFN_SHAREAWARE 0x00004000 !define OFN_NOREADONLYRETURN 0x00008000 !define OFN_NOTESTFILECREATE 0x00010000 !define OFN_NONETWORKBUTTON 0x00020000 !define OFN_NOLONGNAMES 0x00040000 #if(WINVER >= 0x0400) !define OFN_EXPLORER 0x00080000 ; new look commdlg !define OFN_NODEREFERENCELINKS 0x00100000 !define OFN_LONGNAMES 0x00200000 !define OFN_ENABLEINCLUDENOTIFY 0x00400000 !define OFN_ENABLESIZING 0x00800000 #endif /* WINVER >= 0x0400 */ #if (_WIN32_WINNT >= 0x0500) !define OFN_DONTADDTORECENT 0x02000000 !define OFN_FORCESHOWHIDDEN 0x10000000 #endif // (_WIN32_WINNT >= 0x0500) !define OPENFILENAME "(i,i,i,i,i,i,i,i,i,i,i,t,t,i,i,i,t,i,i,t,*v,i,i) i" Section Push `${OFN_ALLOWMULTISELECT}|${OFN_EXPLORER}` ;Flags Push `Откройте файл` ;lpstrTitle System::Call "*(&t1024) i .r1" ;lpstrFile System::Call "*(&t25 'NSIS файл (*.nsi, *.nsh)', &t12 '*.nsi;*.nsh', &t9 'Все файлы', &t5 '*.*') i .r2" ;lpstrFilter System::Call "Kernel32::GetModuleHandle(i) i.s" ;hInstance Push $HWNDPARENT ;hwndOwner System::Call "*${OPENFILENAME}(76,s,s,r2,,,0,r1,1024,,,,s,s,_) i.r0" System::Call "Comdlg32::GetOpenFileName(i r0) i.r3" StrCmp $3 0 0 +3 MessageBox MB_ICONINFORMATION|MB_OK " Вы не выбрали файл !" Goto done System::Call "*$1(&t1024 .r3)" System::Call "*$0${OPENFILENAME}(,,,,,,,,,,,,,,.r4,_)" IntOp $4 $4 - 1 StrLen $5 $3 StrCmp $4 $5 +3 MessageBox MB_ICONINFORMATION|MB_OK "Вы выбрали файл: $3" Goto done MessageBox MB_ICONINFORMATION|MB_OK "Вы выбрали в каталоге $3 , следующие файлы :" StrCpy $5 $1 loop: StrLen $4 $3 IntOp $5 $5 + $4 IntOp $5 $5 + 1 System::Call "*$5(&t1024 .r3)" StrCmp $3 "" done MessageBox MB_ICONINFORMATION|MB_OK "$3" ;Цикл для имен выбранных файлов Goto loop done: System::Free $0 System::Free $1 System::Free $2 SectionEnd |
Отправлено: 16:12, 06-12-2013 | #826 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
Есть замечательные плагины типа Dialogs plug-in, которые позволяют сократить количество строк в коде до пары (1 строка вызов команды + ваш остальной код) Неужели вас страшит лишние пары десятков Кб из-за добавления DLL плагина в пакет? Я, конечно, понимаю, что WinAPI это хорошо, но мне кажется только тогда - когда это необходимо и нечем заменить нужный функционал А использовать тонны кода для простеньких задач это как-то не айс, тем более кто лично в этой теме реально понимает, что ты написал? Ты, я, Вячеслав и ещё возможно пара человек, которые реально хотят кодить на NSIS и которые полностью прочитали наш справочник, включая описание System.dll и сидящие на MSDN для изучения WinAPI функций, есть вообще такие здесь? Я, честно признаюсь, раньше не использовал System.dll по одной простой причине - сложно было понять англ.доки по нему и читал описание данного плага из нашего же справочника , благодаря переводу Вячеслава я совсем недавно уже начал иногда применять system.dll в своём же "креаторе", мне раньше было проще написать dll, сейчас уже практически всё наоборот Ты бы лучше взял и оформил все свои примеры, которые здесь выкладываешь, в стиле нашего справочника, редактить html не так уж и сложно через визуальные редакторы, я , к примеру использую лёгкий NVU - вполне сходит для создания и оформления лёгких страничек для справочников |
|
------- Отправлено: 16:36, 06-12-2013 | #827 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
Я тоже не люблю жирных кодов и без нужды не использую. Но любой такой жиряга - это и есть внутренности плагинов и хедеров, которыми все с удовольствием пользуются, потому что этот жиропродукт в итоге позволяет обойтись парой строк кода... Цитата K.A.V.:
|
||
Последний раз редактировалось MKN, 06-12-2013 в 17:14. Отправлено: 16:58, 06-12-2013 | #828 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Скажите, можно ли через NSIS сделать выбор типа/режим установки, ПЕРЕД выбором компонентов
чтобы при выборе одного из режимов у него был свой независимый набор файлов / секций / свои настройки деинсталлятора / иконок можно ли это сделать стандартными средствами (пока не удалось найти как)?, если да/нет то в какую хоть сторону копать? |
Отправлено: 11:10, 07-12-2013 | #829 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата areafix:
2. » Логические конструкции в скриптах NSIS в справочнике 3. » Создание своего инсталлятора на NSIS. Секции и выбор компонентов 4. » Читаем про свойства флагов секций: скрытие, переименование, отметки изменяем флаги (свойства секций) в зависимости от отметки радиобутонов естественно все это делаем до показа странички компонентов. |
|
------- Отправлено: 12:04, 07-12-2013 | #830 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
[архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|