|
Компьютерный форум 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 |
Старожил Сообщения: 169
|
Профиль | Отправить PM | Цитировать Никогда не сталкивался с ограничением в 2 гига и вот опять, есть возможность обойти это без "Nsis7z"?
|
Отправлено: 13:26, 14-08-2023 | #2781 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать AlekseyPopovv, nsisbi
|
Отправлено: 13:50, 14-08-2023 | #2782 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать iglezz, Доброго дня.
Возникла проблема. Использую ваш метод добавления записей в реестр для всех имеющихся учетных записей. Всё отлично работает. Но как прописать, если в системе есть только одна активная учетная запись, то чтобы запись в реестр прописывалась только активной учетке? Подробнее на примере:
Используется код: Function SIDFilter_UsersOnly System::Store L Pop $0 StrCpy $1 $0 8 StrCmp $1 "S-1-5-21" +3 0 StrCpy $1 "" System::Store S Push $1 FunctionEnd Function ProcUsers System::Store L Pop $0 Pop $1 ${EnumUsersRegEx_GetProfilePath} $3 $1 ${If} $3 != "" WriteRegDWORD HKU "$0\SOFTWARE\test" "tt" 0x1 ${EndIf} System::Store S FunctionEnd Потом в нужном месте вставляется вызов этих функций: Всё отлично работает и всем учеткам системы добавляется в реестр запись. Как можно прописать, чтобы,если имеется только одна активная учетка, то прописывалось не вызов этих функций, а простая запись: Как это можно сделать? Неактивные и прочие учетки игнорировать. Буду очень признателен за ваше пояснение. |
Последний раз редактировалось inco1, 17-09-2023 в 13:24. Отправлено: 08:42, 17-09-2023 | #2783 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать inco1, Можно посчитать в некую переменную число залогиненных учётных записей.
А потом что, если их больше одной? |
Отправлено: 00:09, 18-09-2023 | #2784 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать iglezz,
Я, видимо не так объяснил. Если такое возможно, то хотелось бы сделать так, чтобы было некое условие, что если число пользователей "S-1-5-21" более одного, то срабатывает этот код: Function SIDFilter_UsersOnly System::Store L Pop $0 StrCpy $1 $0 8 StrCmp $1 "S-1-5-21" +3 0 StrCpy $1 "" System::Store S Push $1 FunctionEnd Function ProcUsers System::Store L Pop $0 Pop $1 ${EnumUsersRegEx_GetProfilePath} $3 $1 ${If} $3 != "" WriteRegDWORD HKU "$0\SOFTWARE\test" "tt" 0x1 ${EndIf} System::Store S FunctionEnd Section ${EnumUsersRegEx} ProcUsers SIDFilter_UsersOnly SectionEnd |
Отправлено: 08:50, 18-09-2023 | #2785 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Посчитать пользователей не сложно
Скрытый текст
!define CountOnlineUsers `!insertmacro CountOnlineUsers ` !macro CountOnlineUsers outVar Push $0 Push $1 Push $2 Push $3 StrCpy $0 0 StrCpy $1 -1 ${Do} IntOp $1 $1 + 1 EnumRegKey $2 HKU '' $1 ${IfThen} $2 == '' ${|} ${ExitDo} ${|} StrCpy $3 $2 8 ${If} $3 == 'S-1-5-21' StrCpy $3 $2 '' -8 ${IfThen} $3 != '_Classes' ${|} IntOp $0 $0 + 1 ${|} ${EndIf} ${Loop} Pop $3 Pop $2 Pop $1 Exch $0 Pop ${outVar} !macroend Section OnlineUsers ${CountOnlineUsers} $0 DetailPrint 'online users: [$0]' SectionEnd Но смысл в этом есть только для случая, когда выполняются разные действия для одного и нескольких пользователей. |
Отправлено: 14:27, 18-09-2023 | #2786 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать iglezz,
Премного-премного благодарю. Это как раз тот счетчик, что я хотел. |
Отправлено: 16:13, 18-09-2023 | #2787 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать iglezz, Доброго дня.
Рано обрадовался. Протестировал счетчик на практике. Как выяснилось, он видит только пользователей, которые вошли в систему. Если в систему вошел только один пользователь, то счетчик одного и видит. |
Отправлено: 14:35, 20-09-2023 | #2788 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать inco1, да, счётчик считает вошедших пользователей.
По какому критерию надо считать пользователей активными? |
Отправлено: 15:12, 20-09-2023 | #2789 |
Пользователь Сообщения: 93
|
Профиль | Отправить PM | Цитировать iglezz, тех, что записаны в реестре в S-1-5-21 и не считать S-1-5-21-.............._Classes
|
Отправлено: 15:35, 20-09-2023 | #2790 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|