|
|
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Кроик СемёнSOFT FOR YOUМогу ли я посмотреть, из каких учётных записей запущено (или заблокировано) приложение У Вас terminal server? Есть хорошая дока от MS: https://technet.microsoft.com/en-us/library/cc751287.aspx так же даю ссылку на топик, в котором я выкладывал и свой код на эту тему 984276 P.S. ссылка на топик неправильная, вот правильная: http://www.sql.ru/forum/984276 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:04:09 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUВозникают следующие вопросы: 1) Могу ли я посмотреть, из каких учётных записей запущено (или заблокировано) приложение 2) Могу ли я отправить команду приложению в другой учётной записи, например закрыться, или показать какое-то информационное сообщение 0) Можешь ли ты прогать софт, который предполагает автообновление? 1,2) Зачем - пусть софт сам скажет, что он протух и его нужно перезапустить. 4) Примитивный 'Запускатор' из Program Files который создаст/обновит/валидирует/запустит пользовательский экземпляр софта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:45:21 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
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. С чего вдруг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:52:03 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
К тому же ничего не мешает вызвать сначала OpenMutex(SYNCHRONIZE,...) и только в случае ERROR_FILE_NOT_FOUND создать его самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 17:54:31 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
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. Ты ж говорил, что какие-то флаги есть, чтобы создать мог только один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:04:44 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvpК тому же ничего не мешает вызвать сначала OpenMutex(SYNCHRONIZE,...) и только в случае ERROR_FILE_NOT_FOUND создать его самому. Мешает, 3-й раз повторяю. 132 процесса одновременно вызовут "OpenMutex(SYNCHRONIZE,...)", получат ERROR_FILE_NOT_FOUND и полезут его создавать. Так в чем сокральный смысл в данном случае вызова OpenMutex? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:06:51 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
YuRockalekcvpК тому же ничего не мешает вызвать сначала OpenMutex(SYNCHRONIZE,...) и только в случае ERROR_FILE_NOT_FOUND создать его самому. Мешает, 3-й раз повторяю. 132 процесса одновременно вызовут "OpenMutex(SYNCHRONIZE,...)", получат ERROR_FILE_NOT_FOUND и полезут его создавать. Так в чем сокральный смысл в данном случае вызова OpenMutex? Не это какой-то тотальный анлак, если 132 процесса с точностью до микросекунд запущены... но наверное можно обойтись одним CreateMutex, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:30:38 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvpесли 132 процесса с точностью до микросекунд запущены... Кстати, вполне возможный вариант (не микросекунды, но тем ни менее). Народ пришел на работу, запускает удаленку с разницей в плюс-несколько минут. А там проблема с сетью-сервером, не запускается... Ждут немного и раз -- запустилось у всех разом (связь появилась). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:35:15 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
JaDiзапустилось у всех разом (связь появилась) Не только этот случай. А если, например, шедулер какой-то запускает однотипные (один экзешник) процессы-задачи. Вполне может и десяток-сотню запустить одним махом, если накопилось. Тут, конечно, не до вопросов пользователю, но тоже чем не случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:40:58 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Более того, на терминальном сервере можно несколько сессий под ОДНОЙ учеткой запускать. У меня так однажды автообновление "повисло" и накачало несколько гигабайт файлов в попытке обновиться, тогда как реальный пользователь перезашел под другой сессией и спокойно работал, "мешая" автообновлению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 18:47:40 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvpПолучить список всех процессов всех пользователей, отфильтровать по нужному процессу, посмотреть каким пользователям принадлежат запущенные экземпляры. Код не приведу, надо пытать гугл и msdn. Хочешь сказать, я из одной учётной записи вижу все запущенгые процессы всеми пользователями? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 22:38:53 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, увы, но сессии далеко не до конца изолированы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 23:15:43 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, я дал наверху ссылку на доку советую обратить внимание на функцию WTSEnumerateProcessesг ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 23:33:45 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
пардон, WTSEnumerateProcesses ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 23:35:16 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Окей Вы уверены, что если создать службу, то она сможет видеть все запущенгые копии разных учётных записей и осуществлять между ними взаимодействие? Ещё момент. Не напомните, как осуществляется установка локальных версий приложения. Ведь если он кладётся в Program Files... разве он не глобальный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 00:31:34 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Up ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 11:57:49 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Храни формочки в базе, тогда не нужно никакого автообновления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 12:17:33 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUОкей Вы уверены, что если создать службу, то она сможет видеть все запущенгые копии разных учётных записей и осуществлять между ними взаимодействие? Да, у неё будут права. Остается неясным, зачем ей надо с ними взаимодействовать , ведь её цель - просто скачать обновление и положить куда надо, и всё. SOFT FOR YOUЕщё момент. Не напомните, как осуществляется установка локальных версий приложения. Ведь если он кладётся в Program Files... разве он не глобальный? При с помощью выбора локальной папки (C:\Users\SOFTFORYOU\...) при установке (константа CSIDL_APPDATA ф-ции SHGetSpecialFolderPath, например). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 14:03:43 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUВедь если он кладётся в Program Files... разве он не глобальный? Если ты выбрал в Program Files - то туда и кладется. Ты, кстати, вначале определись всё-таки, как тебе лучше - в PF ставить или в CSIDL_APPDATA всё-таки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 14:05:55 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Up YuRockведь её цель - просто скачать обновление и положить куда надо, и всё.+ YuRockSOFT FOR YOUВедь если он кладётся в Program Files... разве он не глобальный? вначале определись всё-таки, как тебе лучше - в PF ставить или в CSIDL_APPDATA всё-таки.= Bred eFeM4) Примитивный 'Запускатор' из Program Files который создаст/обновит/валидирует/запустит пользовательский экземпляр софта (в CSIDL_APPDATA) . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2017, 14:30:09 |
|
||
|
|

start [/forum/topic.php?fid=58&startmsg=39502779&tid=2041947]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 183ms |
| total: | 458ms |

| 0 / 0 |
