|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум 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 |
|
Пользователь Сообщения: 117
|
Профиль | Сайт | Отправить 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 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата Serg866:
|
|
|
Отправлено: 15:23, 01-09-2015 | #1809 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить 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 | |
|