|
Компьютерный форум 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 | Цитировать Цитата Kopejkin:
Цитата MaGoth:
|
||
------- Отправлено: 20:30, 29-08-2013 | #491 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2359
|
Профиль | Отправить 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 |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить 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 |
Ветеран Сообщения: 2359
|
Профиль | Отправить 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 |
Ветеран Сообщения: 2359
|
Профиль | Отправить 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 |
Ветеран Сообщения: 2359
|
Профиль | Отправить 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 |
|