|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Kopejkin:
Цитата MaGoth:
|
||
|
------- Отправлено: 20:30, 29-08-2013 | #491 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата Kopejkin:
Но, в то же время, в коде ранее предложенным kotkovets, (это где кнопка ДАЛЕЕ не активна пока не будет выбран 1 из компонентов ) - такого эффекта нет... Повторю этот код : OutFile "example.exe"
var hInst
!include "MUI2.nsh"
;функция во время открытия странички компонентов
!define MUI_PAGE_CUSTOMFUNCTION_SHOW COMPONENTS_SHOW
;---------------------------------------------------
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE Russian
;макрос проверки секций, если одна из секций отмечена возврат - 1, иначе - 0;
;в intsec - указываем количество секций в скрипте
!macro CheckSection intsec ret
Push ${intsec}
System::Store SR2
${For} $R0 1 $R2
SectionGetFlags $R0 $R1
${IfThen} $R1 == 1 ${|}${Break}${|}
${Next}
Push $R1
System::Store L
Pop ${ret}
!macroend
SubSection "test" IDS_1
Section /o "Компонент №1" ID_1
SectionEnd
Section /o "Компонент №2" ID_2
SectionEnd
Section /o "Компонент №3" ID_3
SectionEnd
Section /o "Компонент №4" ID_4
SectionEnd
Section /o "Компонент №5" ID_5
SectionEnd
Section /o "Компонент №6" ID_6
SectionEnd
SubSectionEnd
Function .onSelChange
!insertmacro StartRadioButtons $1
!insertmacro RadioButton ${ID_1}
!insertmacro RadioButton ${ID_2}
!insertmacro RadioButton ${ID_3}
!insertmacro RadioButton ${ID_4}
!insertmacro RadioButton ${ID_5}
!insertmacro RadioButton ${ID_6}
!insertmacro EndRadioButtons
!insertmacro CheckSection 6 $R0
StrCmp $R0 0 0 +2
EnableWindow $hInst ${SW_HIDE} ;отключаем кнопку "установить"
StrCmp $R0 1 0 +2
EnableWindow $hInst ${SW_SHOW} ;включаем кнопку "установить"
FunctionEnd
Function .OnInit
StrCpy $1 ${ID_1}
;фиктивно отключаем группу
;SectionSetFlags ${IDS_1} ${SECTION_OFF}
SectionSetFlags ${IDS_1} -290 ; Чтобы компоненты в группе по умолчанию были свёрнуты :
FunctionEnd
Function COMPONENTS_SHOW
GetDlgItem $hInst $HWNDPARENT 1 ;находим HWND кнопки "установить"
!insertmacro CheckSection 6 $R0
StrCmp $R0 0 0 +2
EnableWindow $hInst ${SW_HIDE} ;отключаем кнопку "установить"
StrCmp $R0 1 0 +2
EnableWindow $hInst ${SW_SHOW} ;включаем кнопку "установить"
FunctionEnd
|
|
|
Отправлено: 20:45, 29-08-2013 | #492 |
|
Пользователь Сообщения: 117
|
Профиль | Сайт | Отправить PM | Цитировать Цитата kotkovets:
На всех этот эффект есть. Цитата MKN:
.Еще вопрос по NewAdvSplash. Указано, что можно воспроизвести *.mp3 и *.wav. WAV воспроизводится без проблем. а вот MP3 - нет. Связано ли это с тем, что у меня не установлены никакие кодеки, кроме тех, что устанавливаются вместе с системой? Еще ни разу не ощутил в них потребности, т.к. использую VLC Player. Если нужно чего перекодировать - Format Factory. Насколько я понимаю, эти программы используют свои кодеки автономно. |
||
|
Отправлено: 22:25, 29-08-2013 | #493 |
|
Пользователь Сообщения: 126
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
![]() Цитата Kopejkin:
|
||
|
Отправлено: 01:19, 30-08-2013 | #494 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
|
|
|
------- Последний раз редактировалось kotkovets, 30-08-2013 в 14:42. Отправлено: 14:31, 30-08-2013 | #495 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста решение для такой задачи :
Необходимо определить тип файла у файла лишённого расширения. (такие файлы часто образуются при скачивании, часто встречается не правильное расширение у видео и у графики) Также необходимо узнать название продукта у исполнямых exe-файлов не зависимо от их имени - blabla.exe ( в свойствах файла это - "Название продукта" ) Каким образом с помощью NSIS извлечь из файлов эту информацию ? Предполагаю, что для этого можно использовать функцию System::Call `shell32::SHGetFileInfo (или SHGetFileInfoA ) совместно с флагами SHGFI_TYPENAME (0x000000400) SHGFI_EXETYPE (0x000002000) SHGFI_DISPLAYNAME (0x000000200) Но как ? |
|
Последний раз редактировалось MKN, 30-08-2013 в 16:54. Отправлено: 16:29, 30-08-2013 | #496 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
Цитата MKN:
Читать файл нужно с помощью команды: FileReadByte побайтовое чтение файла с заданным смещением.. получили сигнатуру и сравниваем... например архив rar имеет сигнатуру rar! в начале файла ( FileRead ) но потом нужно отсечь лишние символы - оставить первые 4 символа или 4 байта в двоичном ввиде через ( FileReadByte ) |
||
|
------- Последний раз редактировалось kotkovets, 30-08-2013 в 17:36. Отправлено: 17:22, 30-08-2013 | #497 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
Тогда такой вопрос - если использовать знаменитую утилиту TrID - File Identifier ( http://mark0.net/soft-trid-e.html ) , то каким образом перенаправить содержимое из окна консоли в , скажем, текстовый файл, для дальнейшей обработки ? |
|
|
Последний раз редактировалось MKN, 31-08-2013 в 11:17. Отправлено: 11:05, 31-08-2013 | #498 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
пример на архиве 7z: outfile test.exe
Section
fileopen $0 "file" r
filereadbyte $0 $1 ;читаем первый байт
filereadbyte $0 $2 ;читаем второй байт
fileclose $0
MessageBox MB_OK "Двоичный код: $1 $2" IDOK
IntFmt $1 "%c" $1 ;конвертируем код в символ
IntFmt $2 "%c" $2
MessageBox MB_OK "сигнатура: $1$2" IDOK
SectionEnd
Цитата MKN:
|
||
|
------- Отправлено: 11:53, 31-08-2013 | #499 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
|
|
|
Отправлено: 12:10, 31-08-2013 | #500 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 | |
|