|
Компьютерный форум 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 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Salmo, не надо извращений в виде плавающих по экрану кнопок. Скрипт AutoIt/AutoHotKey из нескольких строк, закрывающий указанный процесс по имени исполняемого файла по нажатию комбинации горячих клавиш.
|
Отправлено: 20:27, 15-11-2017 | #2151 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Salmo:
На примере убиения процесса виндового калькулятора (используется плагин nsProcess). (Кнопка с фейсом поверх окон, можно перетаскивать, с маленькой кнопочкой для закрытия, с иконкой на кнопке 32x32) Ессно размеры и пр косметику можно изменять по вкусу... |
|
Последний раз редактировалось MKN, 27-05-2020 в 16:17. Отправлено: 11:47, 21-11-2017 | #2152 |
Старожил Сообщения: 292
|
Профиль | Отправить PM | Цитировать Всем доброго времени суток!
Подскажите какая константа соответствует дате и времени суток? Если точнее, как прописать в ini файл дату и время компиляции? |
------- Последний раз редактировалось ZVSRus, 21-11-2017 в 20:35. Отправлено: 20:20, 21-11-2017 | #2153 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата ZVSRus:
(если файла нет - ессно сначала создать) !define /date MyTIMESTAMP "%Y-%m-%d-%H-%M-%S" OutFile "Test-${MyTIMESTAMP}.exe" ;http://nsis.sourceforge.net/mediawiki/index.php?title=Reference/WriteINIStr Section WriteINIStr $EXEDIR\myinifile.ini section1 myinifile ${MyTIMESTAMP} WriteINIStr $EXEDIR\myinifile.ini section1 myinifileelse "ещё запись в section1" WriteINIStr $EXEDIR\myinifile.ini section2 nsis ${MyTIMESTAMP} SectionEnd |
|
Отправлено: 11:05, 22-11-2017 | #2154 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Добрый вечер!
Подскажите в чем проблема? Компиляция проходит успешно.Файлы распакуются в директорию appdata, нужно открыть файл txt. Ничего не выходит. Пробовал через "FileOpen" Такая же фигня. |
Отправлено: 17:50, 04-12-2017 | #2155 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать gamma,
Используй ExecShell Например : ExecShell "" "$EXEDIR\test.txt" |
Отправлено: 11:34, 05-12-2017 | #2156 |
Пользователь Сообщения: 62
|
Профиль | Отправить PM | Цитировать Мужики, помогите разобраться... Второй день вожусь. Сделал две кастомные странички, на первой есть чекбокс выбора создания ярлыка в меню Пуск, на второй кнопка выбора папки в меню Пуск. Не могу заставить вторую страницу считывать состояние отметки чекбокса и в зависимости от отметки активировать/деактивировать кнопку...
Код
!define PRODUCT_NAME "MyProg"
!define PRODUCT_VERSION "1.0" SetCompressor lzma !include "MUI2.nsh" !include "nsDialogs.nsh" Var CustPage1 Var DirRequest_Txt Var DirRequest_Btn var CustPage2 Var Check var CheckBox1 !insertmacro MUI_PAGE_WELCOME Page custom fnCustPage1 Page custom fnCustPage2 !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "Russian" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "setup.exe" InstallDir "$PROGRAMFILES\MyProg" ShowInstDetails show ShowUnInstDetails show ;======================-Первая страница-=========================; Function fnCustPage1 nsDialogs::Create 1018 Pop $CustPage1 !insertmacro MUI_HEADER_TEXT "..." "..." ${NSD_CreateCheckBox} 10u 90u 100u 12u "Ярлык в меню «Пуск»" Pop $CheckBox1 ${NSD_SetState} $CheckBox1 1 ;${NSD_OnClick} $CheckBox1 fnCheckBox ; Такой вариант не работает nsDialogs::Show FunctionEnd ;======================-Вторая страница-=========================; Function fnCustPage2 nsDialogs::Create 1018 Pop $CustPage2 !insertmacro MUI_HEADER_TEXT "..." "..." ${NSD_CreateText} 10.09u 86.38u 224.53u 13.31u "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" Pop $DirRequest_Txt ${NSD_CreateButton} 240.94u 86.38u 50.49u 13.31u "Обзор..." Pop $DirRequest_Btn ${NSD_OnClick} $DirRequest_Btn fnc_DirRequest_Click ;Call fnCheckBox ; Такой вариант тоже не работает nsDialogs::Show FunctionEnd ;===========================================================; Function fnCheckBox Pop $CheckBox1 ${NSD_GetState} $CheckBox1 $Check ${If} $Check = 1 EnableWindow $DirRequest_Txt 0 EnableWindow $DirRequest_Btn 0 ${ElseIf} $Check = 0 EnableWindow $DirRequest_Txt 1 EnableWindow $DirRequest_Btn 1 ${EndIf} FunctionEnd ;===========================================================; Function fnc_DirRequest_Click Pop $R0 ${If} $R0 == $DirRequest_Btn ${NSD_GetText} $DirRequest_Txt $R0 nsDialogs::SelectFolderDialog /NOUNLOAD "" "$R0" Pop $R0 ${If} "$R0" != "error" ${NSD_SetText} $DirRequest_Txt "$R0" ${EndIf} ${EndIf} FunctionEnd ;===========================================================; Section "" SEC01 SectionEnd |
Отправлено: 01:47, 04-01-2018 | #2157 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Alex S,
Навскидку, можно как то так (если я правильно понял суть...), но без активации/деактивации кнопки : код
!define PRODUCT_NAME "MyProg" !define PRODUCT_VERSION "1.0" ;SetCompressor lzma !include "MUI2.nsh" !include "nsDialogs.nsh" Var CustPage1 Var DirRequest_Txt Var DirRequest_Btn var CustPage2 var CheckBox1 !insertmacro MUI_PAGE_WELCOME Page custom fnCustPage1 Page custom fnCustPage2 !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "Russian" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "Test_setup.exe" InstallDir "$PROGRAMFILES\MyProg" ShowInstDetails show ShowUnInstDetails show ;======================-Первая страница-=========================; Function fnCustPage1 nsDialogs::Create 1018 Pop $CustPage1 !insertmacro MUI_HEADER_TEXT "..." "..." ${NSD_CreateCheckBox} 10u 90u 100u 12u "Ярлык в меню «Пуск»" Pop $CheckBox1 ${NSD_SetState} $CheckBox1 1 ${NSD_OnClick} $CheckBox1 fnCheckBox nsDialogs::Show FunctionEnd Function fnCheckBox ;Pop $CheckBox1 ${NSD_GetState} $CheckBox1 $9 FunctionEnd ;======================-Вторая страница-=========================; Function fnCustPage2 ${If} $9 == "0" nsDialogs::Create 1018 Pop $CustPage2 MessageBox MB_OK "выбираем путь для ярлыка" !insertmacro MUI_HEADER_TEXT "..." "..." ${NSD_CreateText} 10.09u 86.38u 224.53u 13.31u "C:\ProgramData\Microsoft\Windows\Start Menu\Programs" Pop $DirRequest_Txt ${NSD_CreateButton} 240.94u 86.38u 50.49u 13.31u "Обзор..." Pop $DirRequest_Btn ${NSD_OnClick} $DirRequest_Btn fnc_DirRequest_Click nsDialogs::Show ${Else} MessageBox MB_OK "код для ярлыка в меню «Пуск»" ${EndIf} FunctionEnd ;===========================================================; Function fnc_DirRequest_Click Pop $R0 ${If} $R0 == $DirRequest_Btn ${NSD_GetText} $DirRequest_Txt $R0 nsDialogs::SelectFolderDialog /NOUNLOAD "" "$R0" Pop $R0 ${If} "$R0" != "error" ${NSD_SetText} $DirRequest_Txt "$R0" ${EndIf} ${EndIf} FunctionEnd ;===========================================================; Section "" SEC01 SectionEnd |
Отправлено: 12:38, 04-01-2018 | #2158 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Alex S,
Вот вам еще один пример. сценарий
!define PRODUCT_NAME "MyProg" !define PRODUCT_VERSION "1.0" SetCompressor lzma !include "MUI2.nsh" !include "nsDialogs.nsh" Var CustPage1 Var DirRequest_Txt Var DirRequest_Btn Var DirApp Var CustPage2 Var Check var CheckBox1 !insertmacro MUI_PAGE_WELCOME Page custom fnCustPage1 fnCheckBox Page custom fnCustPage2 DirRequest !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "Russian" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "setup.exe" InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" ShowInstDetails show ShowUnInstDetails show ;======================-Первая страница-=========================; Function fnCustPage1 nsDialogs::Create 1018 Pop $CustPage1 ${If} $CustPage1 == error Abort ${EndIf} !insertmacro MUI_HEADER_TEXT "..." "..." ${NSD_CreateCheckBox} 10.09u 86.38u 100u 12u "Ярлык в меню «Пуск»" Pop $CheckBox1 ${NSD_Check} $CheckBox1 ${If} $Check == ${BST_UNCHECKED} ${NSD_UnCheck} $CheckBox1 ${EndIf} nsDialogs::Show FunctionEnd ;======================-Вторая страница-=========================; Function fnCustPage2 nsDialogs::Create 1018 Pop $CustPage2 ${If} $CustPage2 == error Abort ${EndIf} !insertmacro MUI_HEADER_TEXT "..." "..." ${NSD_CreateText} 10.09u 86.38u 224.53u 13.31u $SMPROGRAMS Pop $DirRequest_Txt ${NSD_CreateButton} 240.94u 86.38u 50.49u 13.31u "Обзор..." Pop $DirRequest_Btn ${NSD_OnClick} $DirRequest_Btn fnc_DirRequest_Click ${If} $Check == ${BST_UNCHECKED} EnableWindow $DirRequest_Txt 0 EnableWindow $DirRequest_Btn 0 ${EndIf} nsDialogs::Show FunctionEnd ;===========================================================; Function fnCheckBox ${NSD_GetState} $CheckBox1 $Check FunctionEnd ;===========================================================; Function fnc_DirRequest_Click ${NSD_GetText} $DirRequest_Txt $DirApp nsDialogs::SelectFolderDialog "Выберите папку или создайте новую:" $DirApp Pop $DirApp ${If} $DirApp != error ${NSD_SetText} $DirRequest_Txt $DirApp ${EndIf} FunctionEnd ;===========================================================; Function DirRequest ${NSD_GetText} $DirRequest_Txt $DirApp FunctionEnd ;===========================================================; Section "" SEC01 SectionEnd |
Отправлено: 13:31, 04-01-2018 | #2159 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Всем привет! Помогите, пожалуйста мне с такой проблемой: есть установщик состоящий из двух страниц - MUI_PAGE_WELCOME и MUI_PAGE_INSTFILES, и нужно чтобы этот установщик, при запуске с определённым ключом, сразу же показывал страницу MUI_PAGE_INSTFILES, начинал установку, и закрывался после завершения. То есть как бы Silent-режим, не требующий никаких действий от пользователя, но с отображением прогресса. Заранее спасибо!
|
Отправлено: 15:13, 04-01-2018 | #2160 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|