powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема обновления софта, запущенного из разных учётных записей
20 сообщений из 45, страница 2 из 2
Проблема обновления софта, запущенного из разных учётных записей
    #39502779
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнSOFT FOR YOUМогу ли я посмотреть, из каких учётных записей запущено (или заблокировано) приложение

У Вас terminal server?
Есть хорошая дока от MS: https://technet.microsoft.com/en-us/library/cc751287.aspx
так же даю ссылку на топик, в котором я выкладывал и свой код на эту тему 984276

P.S.
ссылка на топик неправильная, вот правильная: http://www.sql.ru/forum/984276
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502821
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUВозникают следующие вопросы:
1) Могу ли я посмотреть, из каких учётных записей запущено (или заблокировано) приложение
2) Могу ли я отправить команду приложению в другой учётной записи, например закрыться, или показать какое-то информационное сообщение
0) Можешь ли ты прогать софт, который предполагает автообновление?

1,2) Зачем - пусть софт сам скажет, что он протух и его нужно перезапустить.

4) Примитивный 'Запускатор' из Program Files который создаст/обновит/валидирует/запустит пользовательский экземпляр софта.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502832
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockС такими флагами при одновременном вызове CreateMutex вернет не NULL только одной программе. Тоже не подходит.
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms682411(v=vs.85).aspx If the mutex is a named mutex and the object existed before this function call, the return value is a handle to the existing object , GetLastError returns ERROR_ALREADY_EXISTS, bInitialOwner is ignored, and the calling thread is not granted ownership.
С чего вдруг?
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502836
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К тому же ничего не мешает вызвать сначала OpenMutex(SYNCHRONIZE,...) и только в случае ERROR_FILE_NOT_FOUND создать его самому.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502846
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpYuRockС такими флагами при одновременном вызове CreateMutex вернет не NULL только одной программе. Тоже не подходит.
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms682411(v=vs.85).aspx If the mutex is a named mutex and the object existed before this function call, the return value is a handle to the existing object , GetLastError returns ERROR_ALREADY_EXISTS, bInitialOwner is ignored, and the calling thread is not granted ownership.
С чего вдруг?
Ну это обычное поведение. Потому и можно спокойно вызывать CreateMutex без OpenMutex. Ты ж говорил, что какие-то флаги есть, чтобы создать мог только один.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502849
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpК тому же ничего не мешает вызвать сначала OpenMutex(SYNCHRONIZE,...) и только в случае ERROR_FILE_NOT_FOUND создать его самому.
Мешает, 3-й раз повторяю. 132 процесса одновременно вызовут "OpenMutex(SYNCHRONIZE,...)", получат ERROR_FILE_NOT_FOUND и полезут его создавать. Так в чем сокральный смысл в данном случае вызова OpenMutex?
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502868
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockalekcvpК тому же ничего не мешает вызвать сначала OpenMutex(SYNCHRONIZE,...) и только в случае ERROR_FILE_NOT_FOUND создать его самому.
Мешает, 3-й раз повторяю. 132 процесса одновременно вызовут "OpenMutex(SYNCHRONIZE,...)", получат ERROR_FILE_NOT_FOUND и полезут его создавать. Так в чем сокральный смысл в данном случае вызова OpenMutex?
Не это какой-то тотальный анлак, если 132 процесса с точностью до микросекунд запущены... но наверное можно обойтись одним CreateMutex, да.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502872
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpесли 132 процесса с точностью до микросекунд запущены...
Кстати, вполне возможный вариант (не микросекунды, но тем ни менее). Народ пришел на работу, запускает удаленку с разницей в плюс-несколько минут. А там проблема с сетью-сервером, не запускается... Ждут немного и раз -- запустилось у всех разом (связь появилась).
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502878
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiзапустилось у всех разом (связь появилась)
Не только этот случай. А если, например, шедулер какой-то запускает однотипные (один экзешник) процессы-задачи. Вполне может и десяток-сотню запустить одним махом, если накопилось.
Тут, конечно, не до вопросов пользователю, но тоже чем не случай.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502885
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Более того, на терминальном сервере можно несколько сессий под ОДНОЙ учеткой запускать. У меня так однажды автообновление "повисло" и накачало несколько гигабайт файлов в попытке обновиться, тогда как реальный пользователь перезашел под другой сессией и спокойно работал, "мешая" автообновлению.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502967
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvpПолучить список всех процессов всех пользователей, отфильтровать по нужному процессу, посмотреть каким пользователям принадлежат запущенные экземпляры. Код не приведу, надо пытать гугл и msdn.


Хочешь сказать, я из одной учётной записи вижу все запущенгые процессы всеми пользователями?
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502984
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

увы, но сессии далеко не до конца изолированы.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502990
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOU,

я дал наверху ссылку на доку
советую обратить внимание на функцию WTSEnumerateProcessesг
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39502991
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон, WTSEnumerateProcesses
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39503005
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Окей
Вы уверены, что если создать службу, то она сможет видеть все запущенгые копии разных учётных записей и осуществлять между ними взаимодействие?

Ещё момент. Не напомните, как осуществляется установка локальных версий приложения. Ведь если он кладётся в Program Files... разве он не глобальный?
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39503238
SOFT FOR YOU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Up )
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39503265
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Храни формочки в базе, тогда не нужно никакого автообновления.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39503364
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUОкей
Вы уверены, что если создать службу, то она сможет видеть все запущенгые копии разных учётных записей и осуществлять между ними взаимодействие?
Да, у неё будут права. Остается неясным, зачем ей надо с ними взаимодействовать , ведь её цель - просто скачать обновление и положить куда надо, и всё.

SOFT FOR YOUЕщё момент. Не напомните, как осуществляется установка локальных версий приложения. Ведь если он кладётся в Program Files... разве он не глобальный?
При с помощью выбора локальной папки (C:\Users\SOFTFORYOU\...) при установке (константа CSIDL_APPDATA ф-ции SHGetSpecialFolderPath, например).
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39503368
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SOFT FOR YOUВедь если он кладётся в Program Files... разве он не глобальный?
Если ты выбрал в Program Files - то туда и кладется. Ты, кстати, вначале определись всё-таки, как тебе лучше - в PF ставить или в CSIDL_APPDATA всё-таки.
...
Рейтинг: 0 / 0
Проблема обновления софта, запущенного из разных учётных записей
    #39503392
Bred eFeM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Up
YuRockведь её цель - просто скачать обновление и положить куда надо, и всё.+
YuRockSOFT FOR YOUВедь если он кладётся в Program Files... разве он не глобальный?
вначале определись всё-таки, как тебе лучше - в PF ставить или в CSIDL_APPDATA всё-таки.=
Bred eFeM4) Примитивный 'Запускатор' из Program Files который создаст/обновит/валидирует/запустит пользовательский экземпляр софта (в CSIDL_APPDATA) .
...
Рейтинг: 0 / 0
20 сообщений из 45, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема обновления софта, запущенного из разных учётных записей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]