|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 |
|
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Salmo, не надо извращений в виде плавающих по экрану кнопок. Скрипт AutoIt/AutoHotKey из нескольких строк, закрывающий указанный процесс по имени исполняемого файла по нажатию комбинации горячих клавиш.
|
|
Отправлено: 20:27, 15-11-2017 | #2151 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить 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 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить 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 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать gamma,
Используй ExecShell Например : ExecShell "" "$EXEDIR\test.txt" |
|
Отправлено: 11:34, 05-12-2017 | #2156 |
|
Пользователь Сообщения: 69
|
Профиль | Отправить 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 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить 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 |
|
Пользователь Сообщения: 98
|
Профиль | Отправить 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 | |
|