|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1158
|
Профиль | Отправить PM | Цитировать K.A.V. , как там на счёт кода когда при выборе компонента отображалась картинка? Очень надо
|
------- Отправлено: 18:16, 08-02-2010 | #391 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Painkiller, я сейчас занят...просто нет свободного времени, как будет так посмотрю (возможно даже завтра)
|
------- Отправлено: 19:35, 08-02-2010 | #392 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать Люди, а можно на nsis написать обработчик нажатий клавиш?
|
Отправлено: 22:20, 08-02-2010 | #393 |
Идиот Сообщения: 1125
|
Профиль | Сайт | Отправить PM | Цитировать нажатий где ? в окне или глобально в системе ?
и самое главное - зачем ?? |
------- Отправлено: 00:50, 09-02-2010 | #394 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата NoName01.cpp:
NSIS пора наверно С/С++ вытеснять? Не пробовал, но в самом NSIS вы такого не напишите, можно написать библиотеку на С/С++ и вызывать её, но мне кажется маловероятным использование данной библиотеки, например, на странице выбора компонентов.... Показываем картинки на странице выбора компонентов при наведении курсора мыши на компоненты Необходимо внести изменения в файл интерфейса (\Program Files\NSIS\Contrib\UIs\modern.exe) Открываем данный файл с помощью ResHacker, переходим в диалог 105 Создаём элемент "BITMAP", устанавливаем ему идентификатор (поле ID), например 9999 *Вот только в этом неудобство, приходится подгонять, если добавлять элемент в диалог 104 (где и есть выбор компонентов), то при компиляции вы получите сообщение об ошибке На этом редактирование файла интерфейса закончено (ну только вам нужно правильно подогнать расположение элемента), сохраняем изменения и закрываем ResHacker Открываем файл \Program Files\NSIS\Contrib\Modern UI\System.nsh (можно скопировать данный файл в каталог с вашим скриптом и редактировать его, чтобы не распростарнять изменения на ваши последующие скрипты, НО при этом, необходимо заменить строку !include "MUI.nsh" в вашем скрипте на !include "System.nsh"), ищем в данном файле строку После неё, вставляем код StrCmp $0 ${section1} 0 +2 SetBrandingImage /IMGID=9999 "$exedir\MODERNUI\Addons\Images\SEC57.bmp" StrCmp $0 ${section2} 0 +2 SetBrandingImage /IMGID=9999 "$exedir\MODERNUI\Addons\Images\SEC66.bmp" StrCmp $0 ${section3} 0 +2 SetBrandingImage /IMGID=9999 "$exedir\MODERNUI\Addons\Images\SEC69.bmp" StrCmp $0 ${section4} 0 +2 SetBrandingImage /IMGID=9999 "$exedir\MODERNUI\Addons\Images\SEC75.bmp" 9999 - идентификатор добавленного нами элемента sectionX - идентификаторы секций Ну а пути к файлам прописываем полные... Да кстати, только BMP файлы, и как я писал раньше, все изображения должны быть одного разрешения, иначе получите глюки Ещё не устали? Это ещё не всё! Находим строчки, где прописаны какие странички инсталлера показывать (в вашем скрипте) !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_COMPONENTS page custom MyCustom !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH Ну и последнее, добавляем функцию, которая и скрывает этот элемент (в вашем скрипте) Function MyCustom !include WinMessages.nsh GetDlgItem $0 $HWNDPARENT 9999 ShowWindow $0 ${SW_HIDE} FunctionEnd И не смейте потом где-нибудь писать, что вы сами реализовали данную возможность! |
|
------- Отправлено: 16:23, 09-02-2010 | #395 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать Цитата hb860:
|
|
Отправлено: 17:08, 09-02-2010 | #396 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Цитата K.A.V.:
|
|
Отправлено: 22:07, 10-02-2010 | #397 |
Идиот Сообщения: 1125
|
Профиль | Сайт | Отправить PM | Цитировать Цитата It4a:
|
|
------- Отправлено: 22:22, 10-02-2010 | #398 |
Старожил Сообщения: 322
|
Профиль | Отправить PM | Цитировать Уважаемый K.A.V., пару страниц назад задавал вам вопрос по поводу создания лога установки инсталятора нсис изменить скрипт которого нет возможности (есть ток скомпилированный вариант) вы вроде дали довольно понятное разъяснение на основе которого я сделал скрипт, но лог так и не получил , может я что не так сделал?
Вот скрипт: !define PRODUCT_NAME "Nsis лог" !define PRODUCT_VERSION "1.0" ;includes !include "MUI.nsh" !include "FileFunc.nsh" !include "LogicLib.nsh" SetCompressor /SOLID lzma ; MUI Settings !define MUI_ABORTWARNING ;!define MUI_ICON "ico.ico" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; Finish page !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH ; Language files !insertmacro MUI_LANGUAGE "Russian" !define LVM_GETITEMCOUNT 0x1004 !define LVM_GETITEMTEXT 0x102D Name "${PRODUCT_NAME}" OutFile "${PRODUCT_NAME}.exe" Function DumpLog Exch $5 Push $0 Push $1 Push $2 Push $3 Push $4 Push $6 FindWindow $0 "#32770" "Заголовок окна files" "" GetDlgItem $0 $0 1016 StrCmp $0 0 error FileOpen $5 $5 "w" StrCmp $5 0 error SendMessage $0 ${LVM_GETITEMCOUNT} 0 0 $6 System::Alloc ${NSIS_MAX_STRLEN} Pop $3 StrCpy $2 0 System::Call "*(i, i, i, i, i, i, i, i, i) i \ (0, 0, 0, 0, 0, r3, ${NSIS_MAX_STRLEN}) .r1" loop: StrCmp $2 $6 done System::Call "User32::SendMessageA(i, i, i, i) i \ ($0, ${LVM_GETITEMTEXT}, $2, r1)" System::Call "*$3(&t${NSIS_MAX_STRLEN} .r4)" FileWrite $5 "$4$\r$\n" IntOp $2 $2 + 1 Goto loop done: FileClose $5 System::Free $1 System::Free $3 Goto exit error: MessageBox MB_OK error exit: Pop $6 Pop $4 Pop $3 Pop $2 Pop $1 Pop $0 Exch $5 FunctionEnd Section "Inst" SetOutPath "$TEMP\files\" File /r "Files.exe" Exec "$TEMP\files\files.exe" SectionEnd Section "-Post" push "$DESKTOP\LOG.log" Call DumpLog SectionEnd да забыл сказать что после выполнения полученной программы получаю красивое окошко с заголовком "error" и одной кнопочкой "ОК" (которое предусмотрено в скрипте) |
------- Последний раз редактировалось XCV, 15-02-2010 в 14:09. Отправлено: 11:38, 15-02-2010 | #399 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать как сделать чтобы при создании ярлыка он запускался от имени админа
|
Отправлено: 18:26, 18-02-2010 | #400 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|