|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 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 |
|
Старожил Сообщения: 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 | |
|