|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
.: NSIS - все вопросы :. часть 2.
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
------- Отправлено: 12:02, 09-12-2012 |
![]() Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Serg866:
|
|
------- Отправлено: 13:04, 29-08-2015 | #1801 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Интересно, сколько бы я мог написать подобных "программ" на NSIS...
Ждём программку удаления файлов ![]() Никто, кстати, не качал поделки автора данных постов? Троянчиков в архивах нет у него случайно? |
------- Отправлено: 19:51, 31-08-2015 | #1802 |
Пользователь Сообщения: 112
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 22:50, 31-08-2015 | #1803 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Нужен совет. Хочу сделать смену иконки на выделенном объекте.
При таком коде (Хедер SetCursor.nsh) наблюдается мерцание курсора: Скрытый текст
!define OCR_NORMAL 32512 !define OCR_IBEAM 32513 !define OCR_WAIT 32514 !define OCR_CROSS 32515 !define OCR_UP 32516 !define OCR_SIZENWSE 32642 !define OCR_SIZENESW 32643 !define OCR_SIZEWE 32644 !define OCR_SIZENS 32645 !define OCR_SIZEALL 32646 !define OCR_NO 32648 !define OCR_HAND 32649 !define OCR_APPSTARTING 32650 !define SetSystemCursor `!insertmacro SetSystemCursor` !macro SetSystemCursor Cursor System::Call USER32::LoadCursor(i,i${${Cursor}})i.s System::Call USER32::SetCursor(is) !macroend !define SetFileCursor `!insertmacro SetFileCursor` !macro SetFileCursor File System::Call USER32::LoadCursorFromFile(t"${File}")i.s System::Call USER32::SetCursor(is) !macroend А при таком: Скрытый текст
!define OCR_NORMAL 32512 !define OCR_IBEAM 32513 !define OCR_WAIT 32514 !define OCR_CROSS 32515 !define OCR_UP 32516 !define OCR_SIZENWSE 32642 !define OCR_SIZENESW 32643 !define OCR_SIZEWE 32644 !define OCR_SIZENS 32645 !define OCR_SIZEALL 32646 !define OCR_NO 32648 !define OCR_HAND 32649 !define OCR_APPSTARTING 32650 !macro SetCursor System::Call user32::SetClassLong(i${Msg},i-12,ir0) !macroend !define SetSystemCursor `!insertmacro SetSystemCursor` !macro SetSystemCursor Msg Cursor System::Call `user32::LoadImage(i0, i ${${Cursor}}, i ${IMAGE_CURSOR}, i 0, i 0, i ${LR_SHARED}) i.r0` Push ${Msg} !insertmacro SetCursor !macroend !define SetFileCursor `!insertmacro SetFileCursor` !macro SetFileCursor Msg File System::Call `user32::LoadImage(i0, t "${File}", i ${IMAGE_CURSOR}, i 0, i 0, i ${LR_LOADFROMFILE}) i.r0` Push ${Msg} !insertmacro SetCursor !macroend происходит применение курсора на все объекты одного класса. Например на кнопку или BMP картинку. Вот сам код: Скрытый текст
Name "Test" OutFile "test.exe" !include MUI2.nsh !include SetCursor.nsh !insertmacro MUI_LANGUAGE Russian Var hCtl Var Button1 Var Button2 Var Bitmap1 Var Bitmap1_hImage Var Label1 Page custom Create Function Create nsDialogs::Create 1044 Pop $hCtl ${If} $hCtl == error Abort ${EndIf} ${SetSystemCursor} $hCtl OCR_NO ${NSD_CreateButton} 82u 46u 49u 14u "1" Pop $Button1 ${SetSystemCursor} $Button1 OCR_HAND ${NSD_CreateButton} 180u 46u 49u 14u "2" Pop $Button2 ${NSD_CreateLabel} 113u 84u 65u 14u "Проверка" Pop $Label1 ${NSD_CreateBitmap} 7u 7u 57u 53u "" Pop $Bitmap1 File "/oname=$PLUGINSDIR\3.bmp" "3.bmp" ${NSD_SetImage} $Bitmap1 "$PLUGINSDIR\3.bmp" $Bitmap1_hImage ${SetFileCursor} $Bitmap1 `$EXEDIR\cursor1.cur` nsDialogs::Show $hCtl FunctionEnd Section SectionEnd |
Последний раз редактировалось Sancho5555, 01-09-2015 в 05:58. Отправлено: 03:49, 01-09-2015 | #1804 |
![]() Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Kopejkin:
MessageBox MB_YESNO|MB_USERICON $(LSTR_56) IDYES label_1919 IDNO label_1925 ; "The files ($3) already exists.$\n$\nClick $\"Yes$\" and rename the files of (Backup.$3).$\n$\nClick $\"No$\" and delete the files ($3)" label_1919: Rename $_26_\$3 $_26_\Backup.$3 ; $_26_\$3->$_26_\Backup.$3 ShowWindow $_21_ ${SW_HIDE} SendMessage $_21_ ${WM_SETTEXT} 0 "STR:- $_38_ - $(LSTR_57)" ; "Renamed successfully" SetCtlColors $_21_ 0x32CD32 transparent ShowWindow $_21_ ${SW_SHOW} Sleep 1000 label_1925: Delete $_26_\$3 ShowWindow $_21_ ${SW_HIDE} SendMessage $_21_ ${WM_SETTEXT} 0 "STR:- $_38_ - $(LSTR_58)" ; "Successfully removed" SetCtlColors $_21_ 0x32CD32 transparent ShowWindow $_21_ ${SW_SHOW} Sleep 1000 Goto label_1933 label_1932: StrCmp $0 0 0 label_1933 label_1933: ShowWindow $_21_ ${SW_HIDE} SendMessage $_21_ ${WM_SETTEXT} 0 "STR:- $(LSTR_59)" ; "Copied $_38_. Please wait..." SetCtlColors $_21_ 0x32CD32 transparent ShowWindow $_21_ ${SW_SHOW} Banner::show /NOUNLOAD /set 76 $(LSTR_59) $(LSTR_60) ; "Copied $_38_. Please wait..." "Please wait..." ; Call Initialize_____Plugins ; File $PLUGINSDIR\Banner.dll ; SetDetailsPrint lastused ; Push $(LSTR_60) ; "Please wait..." ; Push $(LSTR_59) ; "Copied $_38_. Please wait..." ; Push 76 ; Push /set ; CallInstDLL $PLUGINSDIR\Banner.dll /NOUNLOAD show ClearErrors SetOutPath $_26_ CopyFiles /SILENT $_29_ $_26_ ; $(LSTR_7)$_26_ ; "Copy to " Banner::destroy ![]() Цитата Sancho5555:
|
||
------- Отправлено: 03:55, 01-09-2015 | #1805 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать K.A.V.
приветствую ещё такой вопрос возник - как скрыть содержимое инсталлятора от глаз архиваторов, в частности 7zip? Тут уже этот вопрос поднимался, но решения не нашли толкового, кто-то писал что можно это сделать средствами непосредственно НСИС, но способ не показал. Также программу какую-то выкладывали, но как-то не доверяю я таким программам. они неизвестно что вшивают в установщик. Алгоритм сжатия LZMA Solid использую |
Отправлено: 13:47, 01-09-2015 | #1806 |
![]() Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Serg866:
Отвечу вам тоже самое, что отвечаю на такие вопросы в личке. Я ранее сильно не заморачивался этим вопросом и первое, на что наткнулся - http://samforum.org/showthread.php?t=30452 Это и использовал в своём SFX Creator, но потом отказался по причине, которая описана мной в той теме Вроде как ссылаются на плагин DcryptDll для защиты файлов в инсталляторе, но опять же - лично сам ничего не пробовал, примерчики там вроде есть, как и в составе любого плагина... Цитата Serg866:
Насчет "средствами NSIS" - способ описан на страничке "Can I decompile an existing installer?" по первой ссылке. Я добился такого эффекта (запрет на просмотр содержимого архиваторами) своей сборкой NSIS и буду использовать её в новой версии SFX Creator, выкладывать эту сборку я не буду по причине того, что она будет частью SFX Creator, у кого есть сильное желание - копайтесь в исходниках NSIS и добьётесь того, что вам нужно. |
||
------- Отправлено: 14:59, 01-09-2015 | #1807 |
Пользователь Сообщения: 83
|
Профиль | Отправить PM | Цитировать K.A.V.
спасибо. Ну то что программуля крошит деинсталлятор не так страшно, достаточно деинсталлятор создать заранее и включить в дистрибутив программы наравне с другими файлами. А вот то что она требует отключения CRC мне что-то не нравится, получается кто-то может что-то поменять внутри установщика и он запустится как родной. Второй способ я не понял, сложновато для новичка типа меня. ------ И ещё возвращаясь к своему вопросу про добавление ссылки на созданной странице, Ваш пример скрипта сработал! Благодарю. Но решил обновить НСИС до последней версии и цвет ссылки почему-то такой стал: ![]() в предыдущих версия был тёмно-синий, а сейчас побледнел. Можно ли поменять этот цвет? |
Последний раз редактировалось Serg866, 01-09-2015 в 15:21. Отправлено: 15:15, 01-09-2015 | #1808 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать Цитата Serg866:
|
|
Отправлено: 15:23, 01-09-2015 | #1809 |
Ветеран Сообщения: 2371
|
Профиль | Отправить PM | Цитировать Интересно, возможно ли убрать рамку-окантовку вокруг текста, которая появляется при клике на линке ?
|
Отправлено: 17:35, 01-09-2015 | #1810 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|