|
Компьютерный форум 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., да не отвечай на вопросы, ибо на его писательство не стоит попросту обращать внимания
убрать оффтоп - дело техники модератора |
------- Отправлено: 21:31, 19-12-2013 | #881 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать Попробовал применить скины к инсталлятору с помощью ISSkinEx (MKN)
На некоторых скинах BrandingText выгладит неопрятно. Например: скин tiger Можно ли что-нибудь сделать? В Справочнике NSIS есть пример изменения цвета BrandingText. В стандартном примере скрипта (WelcomeFinish.nsi) - прекрасно работает. В различных примерах со скинами (см. ссылку MKN выше) - нет. И что самое обидное ( ) в моем, вполне рабочем скрипте без скинов, самодельных окон - в общем, довольно простеньком - тоже не работает. Хотя особой надобности что-либо делать с BrandingText нет - отображается вполне прилично. Есть ли ограничения применения этого примера? Или что необходимо учитывать? |
Отправлено: 15:41, 20-12-2013 | #882 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Kopejkin:
Самый удачный "кожезаменитель" для NSIS, по моему - это SkinH.dll. Для однокнопочных конструкций можно сделать забавный фейс инсталлятора - в виде круга. Функция , проделывающая это, уже описывалась ранее. !include nsDialogs.nsh !include WinMessages.nsh Caption " " Page Custom mypagecreate Page InstFiles OutFile "CreateRoundRectRgn.exe" Var dlg var button Function .onGUIInit System::Call "user32::SystemParametersInfo(i0x0025,i0,*i.R0,i0)" System::Call "user32::SystemParametersInfo(i0x0025,i1,i0,i0)" FunctionEnd Function .onGUIEnd System::Call "user32::SystemParametersInfo(i0x0025,iR0,i0,i0)" FunctionEnd Function mypagecreate nsDialogs::Create 1018 Pop $dlg System::Call "*(i, i, i, i)i.r0"; создать новую структуру System::Call "User32::GetClientRect(i$HWNDPARENT, ir0)"; Получить новые координаты структуры - в $0 System::Call "*$0(i, i, i.r1, i.r2)" IntOp $1 $1 + 5 IntOp $2 $2 + 30 System::Call "Gdi32::CreateRoundRectRgn(i0,i0,i200,i200,i200,i200)i.r0" ; Функция SetWindowRgn устанавливает регион окна. Регион окна устанавливает область внутри окна, где система разрешает рисовать. ;Система не выводит на экран любую часть окна, которая находится за пределами региона окна. ; Координаты окна региона окна находятся относительно левого верхнего угла не рабочей области окна. ;После успешного вызова функции SetWindowRgn системе принадлежит регион, определенный дескриптором hRgn региона. ;Система не делает копию региона. Таким образом, Вы не должны делать дополнительные вызовы функции с этим дескриптором региона. ;В частности не удаляйте этот дескриптор региона. Система удаляет дескриптор региона тогда, когда он больше не нужен. System::Call "User32::SetWindowRgn(i$HWNDPARENT, ir0, i1)" ${NSD_CreateButton} 50u 35u 17u 16u "X" Pop $button ${NSD_OnClick} $button done nsDialogs::Show FunctionEnd Function done SendMessage $hwndparent ${WM_CLOSE} 0 0 FunctionEnd Section SectionEnd Но у меня не получилось - полностью закрасить круг. ( с прямоугольным окном получается). Как это можно сделать, у кого какие соображения ? |
|
Отправлено: 17:39, 20-12-2013 | #883 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
|
|
------- Отправлено: 20:00, 20-12-2013 | #884 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
а можно убрать у окна заголовок, удалить стиль заголовка, но переместить окошко тогда не удасться |
|
------- Отправлено: 00:20, 21-12-2013 | #885 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Самое простое - запускать вместе со скриптом утилитку для этого (типа MoveInactiveWin). Но так не интересно... В то же время пишут, что можно сделать так : http://computista.ru/030600.shtml или использовать сообщение WM_NCHITTEST, которое есть даже в WinMessages.nsh. Только как это сделать на практике ? |
|
Отправлено: 12:35, 21-12-2013 | #886 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
|
|
------- Отправлено: 19:12, 21-12-2013 | #887 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
|
|
Отправлено: 21:06, 21-12-2013 | #888 |
Ветеран Сообщения: 3206
|
Профиль | Отправить PM | Цитировать Никто не знает как в скрипте NSIS вызвать LaunchAdvancedAssociationUI для заданной программы?
(How to call LaunchAdvancedAssociationUI). |
------- Отправлено: 16:53, 23-12-2013 | #889 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата wolkow70:
Был такой код по теме : !include LogicLib.nsh !define CLSCTX_INPROC_SERVER 0x1 !define CLSID_ApplicationAssociationRegistrationUI {1968106d-f3b5-44cf-890e-116fcb9ecef1} !define IID_IApplicationAssociationRegistrationUI {1f76a169-f994-40ac-8fc8-0959e8874710} ;[Vista+] section System::Call 'OLE32::CoCreateInstance(g "${CLSID_ApplicationAssociationRegistrationUI}",i 0,i ${CLSCTX_INPROC_SERVER},g "${IID_IApplicationAssociationRegistrationUI}",*i.r1)i.r0' ;ptr is now in $1 and hr in $0 ${If} $1 <> 0 System::Call '$1->3(w "MyApp")i.r0' ;IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI System::Call '$1->2()' ;IUnknown::Release ${EndIf} sectionend ( http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx ) А ты, как мне кажется, хочешь замутить канитель, именно применимо к ассоциированию в Win8 ? (а для других ОС и мутить нечего - всё ясно и традиционно...) |
|
Отправлено: 17:43, 23-12-2013 | #890 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|