|
Компьютерный форум 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 | Цитировать Добавил в шапку: Определение всех ОС WINDOWS (winver2.nsh) >> Расширение функциональности
|
------- Отправлено: 15:21, 06-05-2014 | #1171 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 152
|
Профиль | Отправить PM | Цитировать Задача, вывести MessageBox "WinName" - "WinType" или "WinServerName" если эта серверная ОС, в примере неправильный вывод, где то нарушена логика, прошу совета.
Цитата:
|
|
Отправлено: 21:25, 07-05-2014 | #1172 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Limonica:
|
|
------- Отправлено: 22:00, 07-05-2014 | #1173 |
Старожил Сообщения: 152
|
Профиль | Отправить PM | Цитировать Спасибо за пример, при дальнейшем копании выяснилось, что winver2.nsh конфликтует с nsExec плагином:
!include "WinVer2.nsh" OutFile "WinGetVerInfo.exe" Caption WinGetVerInfo Function .OnInit nsExec::exec 'calc.exe' ${WinName} $3 ${WinType} $4 ${WinServerName} $5 MessageBox MB_OK "$3 $4$5" FunctionEnd Section SectionEnd --------------------------- WinGetVerInfo --------------------------- WinXP Professional0 --------------------------- OK --------------------------- |
Отправлено: 13:41, 08-05-2014 | #1174 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Limonica:
Либо просто определяйте ОС до выполнения команды с плагином, на переменные вы не жадный же? |
|
------- Отправлено: 13:56, 08-05-2014 | #1175 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Limonica:
в доках пишут то так: |
|
------- Отправлено: 16:32, 08-05-2014 | #1176 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать NSIS v3.0 перешла из стадии альфа в стадию бета. Новости здесь. Загрузить релиз можно с оффсайта. Отчеты об ошибках сообщаем на форум NSIS.
|
Отправлено: 12:41, 12-05-2014 | #1177 |
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Flix:
Поставил, будем обкатывать, пока что после первых компиляций заметил уменьшение размера всех выходных файлов по сравнению с 3.0a1 В Release notes как-то мало инфы по мелким изменениям даже, как-будто ничего не делали |
|
------- Отправлено: 13:23, 12-05-2014 | #1178 |
Ветеран Сообщения: 2359
|
Профиль | Отправить PM | Цитировать Расшарить папку и задать права доступа можно с помощью такого кода :
;создать общий ресурс с полным доступом для всех outfile "NetShareAdd.exe" !include "LogicLib.nsh" # Definitions and user flags !define STYPE_DISKTREE 0 !define ACCESS_READ 0x01 !define ACCESS_WRITE 0x02 !define ACCESS_CREATE 0x04 !define ACCESS_EXEC 0x08 !define ACCESS_DELETE 0x10 !define ACCESS_ATRIB 0x20 !define ACCESS_PERM 0x40 !define ACCESS_ALL 0x7F # Permissions !define GENERIC_READ 0x80000000 !define GENERIC_WRITE 0x40000000 !define GENERIC_EXECUTE 0x20000000 !define GENERIC_ALL 0x10000000 !define NO_INHERITANCE 0x0 !define SECURITY_DESCRIPTOR_REVISION 1 # ACCESS_MODE values !define NOT_USED_ACCESS 0 !define GRANT_ACCESS 1 !define SET_ACCESS 2 !define DENY_ACCESS 3 !define REVOKE_ACCESS 4 !define SET_AUDIT_SUCCESS 5 !define SET_AUDIT_FAILURE 6 # MULTIPLE_TRUSTEE_OPERATION values !define NO_MULTIPLE_TRUSTEE 0 !define TRUSTEE_IS_IMPERSONATE 1 # TRUSTEE_FORM values !define TRUSTEE_IS_SID 0 !define TRUSTEE_IS_NAME 1 !define TRUSTEE_BAD_FORM 2 !define TRUSTEE_IS_OBJECTS_AND_SID 3 !define TRUSTEE_IS_OBJECTS_AND_NAME 4 # TRUSTEE_TYPE values !define TRUSTEE_IS_UNKNOWN 0 !define TRUSTEE_IS_USER 1 !define TRUSTEE_IS_GROUP 2 !define TRUSTEE_IS_DOMAIN 3 !define TRUSTEE_IS_ALIAS 4 !define TRUSTEE_IS_WELL_KNOWN_GROUP 5 !define TRUSTEE_IS_DELETED 6 !define TRUSTEE_IS_INVALID 7 !define TRUSTEE_IS_COMPUTER 8 # Structure Definitions !define strSHARE_INFO_2 '(w,i,w,i,i,i,w,w)i' ;This can be done with the above code by using the SHARE_INFO_2 structure. !define strSHARE_INFO_502 '(w,i,w,i,i,i,w,w,i,i)i' !define strEXPLICIT_ACCESS '(i,i,i,i,i,i,i,i)i' !macro CreateNewFullShare SHARENAME SHARE_TYPE SHARE_COMMENT SHARE_PERMISSIONS MAX_USERS CURRENT_USES SHARE_PATH SHARE_PASS System::Call /NOUNLOAD '*${strSHARE_INFO_2}("${SHARENAME}",${SHARE_TYPE},"${SHARE_COMMENT}",${SHARE_PERMISSIONS},${MAX_USERS},${CURRENT_USES},"${SHARE_PATH}","${SHARE_PASS}")i.R0' System::Call /NOUNLOAD 'netapi32::NetShareAdd(, i 2, i R0, *i .R1) i .r1' ${If} $1 <> 0 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST 'There was an error creating the share!' ${EndIf} System::Free $R0 !macroend Section ;!insertmacro CreateNewFullShare "Share Name" ${STYPE_DISKTREE} "Share Description" 0 -1 0 "X:\<folder_to_share>" "" !insertmacro CreateNewFullShare "Temp" ${STYPE_DISKTREE} "Share Description" 0 -1 0 "C:\Temp" "" SectionEnd Удалить шару : outfile "NetShareDel.exe" !include "LogicLib.nsh" !macro RemoveShare SHARENAME System::Call /NOUNLOAD 'netapi32::NetShareDel(, w "${SHARENAME}",i 0) i .r1' ${If} $1 <> 0 MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST 'There was an error removing the share!"' ${EndIf} !macroend Section ;!insertmacro RemoveShare "ShareName" !insertmacro RemoveShare "Temp" SectionEnd |
Отправлено: 11:57, 17-05-2014 | #1179 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Как запустить ExecWait в режиме SILENT?
|
Отправлено: 00:42, 21-05-2014 | #1180 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|