|
|
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Вот у нас есть софт, который предполагает автообновление Кроме того, приложение может быть запущено из разных учётных записей по RDP Возникают следующие вопросы: 1) Могу ли я посмотреть, из каких учётных записей запущено (или заблокировано) приложение 2) Могу ли я отправить команду приложению в другой учётной записи, например закрыться, или показать какое-то информационное сообщение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 13:37:01 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, Создавай серверный socket. Если не удалось - (потому, что уже создан) - шли туда любые команды и/или получай любые ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 13:42:29 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Это я так понял ответ на второй вопрос Окей а можно ссылки почитать, что за серверный сокет. И не получится ли так, что сообщение "дойдёт" только одному приложению, а не нескольким. И как изменится логика, если создавшее сокет приложение закроется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 13:54:48 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Некоторые базы данных могут отсылать сообщения клиентам, например, Oracle или Firebird (если нужна реакция в реальном времени). Можно небольшой сервис держать для этих целей и обмениваться данными с клиентами. В конце концов можно по таймеру актуальную версию проверять и блокировать. А ставить софт надо в пользовательскую папку , а не в общую -- это самое главное. Т.к. всякие бухгалтера любят оставить включенным компьютер-подключение и уйти на обеда или домой, а с утра открыть комп, чтобы было "всё, как вчера". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:10:10 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUВот у нас есть софт, который предполагает автообновление Кроме того, приложение может быть запущено из разных учётных записей по RDP Возникают следующие вопросы: 1) Могу ли я посмотреть, из каких учётных записей запущено (или заблокировано) приложение 2) Могу ли я отправить команду приложению в другой учётной записи, например закрыться, или показать какое-то информационное сообщение Навскидку: 1) Из самого приложения или из стороннего обновлятора? Во втором случае потребуются права локального администратора. 2) Например SendMessage WM_QUIT в хэндл Application или Application.MainForm нужного экземпляра приложения. Но, опять же, права локального администратора, чтобы найти нужный процесс и получить его окна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:12:14 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvpНавскидку: Но, имхо, лучше сделать обновлятор в виде отдельного сервиса, запускающегося от SYSTEM и какой-нибудь канал для взаимодействия приложения с этим сервисом (Named Pipes?) чтобы он всегда знал сколько экземпляров запущено и мог им сказать закрыться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:15:06 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvp, А как из приложения с правами администратора получить список пользователей, которые заблокировали экзешник? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:23:02 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUЭто я так понял ответ на второй вопрос И на 1-й тоже. GetUserName можно включить в протокол, например. SOFT FOR YOUОкей а можно ссылки почитать, что за серверный сокет. socket/bind/listen google SOFT FOR YOUИ не получится ли так, что сообщение "дойдёт" только одному приложению, а не нескольким. Конечно, получится, ведь сервер можно создать только один. Если нужно общатся с несколькими - значит нужно будет делать отдельную прогамму-сервер обновлений, к которой все прогаммы-обновляторы подключаться. Может так и проще. Я ж не знаю, какая у тебя логика вообще. SOFT FOR YOUИ как изменится логика, если создавшее сокет приложение закроется. Получится создать сокет и это будет означать, что это приложение первое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:25:36 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUВозникают следующие вопросы: У каждого пользователя должен быть свой экземпляр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:26:04 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, Не совсем понятны фразы "заблокировали экзешник", "заблокировано приложение". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:26:59 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Как делается: При запуске приложения или или по команде из меню проверяется наличие обновлений, если они есть, предлагается запустить установку обновления и перезапустить приложение после процесса обновления. Пользователь сам решает, когда ему обновляться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 14:52:42 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
schi, Да. Но когда стартует инсталер, мы видим, что приложение заблокировано (запущено). А кем именно - не видим. И сделать с этим особо тоже ничего не можем ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:00:43 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUДа. Но когда стартует инсталер, мы видим, что приложение заблокировано (запущено). А кем именно - не видим. И сделать с этим особо тоже ничего не можем ) По этому каждому пользователю своя папочка и своё приложение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:03:42 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Ещё вопросик назрел Папка "ProgramData" - привязана к пользователю или она лежит в общем доступе? Писать туда может только админ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:03:43 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUЕщё вопросик назрел Папка "ProgramData" - привязана к пользователю или она лежит в общем доступе? Писать туда может только админ? ProramData - это что что раньше было общим для всех %appdata%, писать туда может только админ. SOFT FOR YOUА как из приложения с правами администратора получить список пользователей, которые заблокировали экзешник? Получить список всех процессов всех пользователей, отфильтровать по нужному процессу, посмотреть каким пользователям принадлежат запущенные экземпляры. Код не приведу, надо пытать гугл и msdn. DimaBrПо этому каждому пользователю своя папочка и своё приложение. Только при условии, что допускается использование разными пользователями разных версий. Иначе если, например, оно работает с базой и между версиями поменялась структура БД, может случиться очень большой УПС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:29:27 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUschi, Да. Но когда стартует инсталер, мы видим, что приложение заблокировано (запущено). А кем именно - не видим. И сделать с этим особо тоже ничего не можем ) Если приложение запускается многими пользователями из централизованного хранилища, то вопрос обновления решается, обычно, административно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:46:58 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOU, Понятно примерно, что ты хочешь. DimaBrSOFT FOR YOUДа. Но когда стартует инсталер, мы видим, что приложение заблокировано (запущено). А кем именно - не видим. И сделать с этим особо тоже ничего не можем ) По этому каждому пользователю своя папочка и своё приложение. Приблизительный алгоритм действий: 1. Ставишь в одну папку, все пользователи запускают из неё; 2. При запуске создаешь mutex с именем 'Global\SOFT_FOR_YOU_MUTEX_SUPERPROGRAM_FIRST_RUN'. Если после этого GetLastError <> ERROR_ALREADY_EXISTS - значит запуск первый, иначе - не первый; закрываем этот mutex; 3. Создаем event с именем 'Global\SOFT_FOR_YOU_EVENT_SUPERPROGRAM_UPDATED'; 4. Запускаешь поток, который ждет WaitForMultiply( INFINITE ) этот event и event, который выставляется в главном потоке перед закрытием приложения. Если Wait закончился и это не закрытие приложения - выдаем сообщение, что необходимо перезапуститься (или принудительно это делать, тут уж зависит от желания). 5. Если запуск первый - проверяем и если надо тянем обновление, после вытяжки переименовываем Application.ExeName в Application.ExeName + '_old'; Делаем SetEvent( Global\SOFT_FOR_YOU_EVENT_SUPERPROGRAM_UPDATED ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:47:39 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
YuRockSOFT FOR YOU, Понятно примерно, что ты хочешь. Приблизительный алгоритм действий: ... 2. При запуске создаешь mutex с именем 'Global\SOFT_FOR_YOU_MUTEX_SUPERPROGRAM_FIRST_RUN'. Если после этого GetLastError <> ERROR_ALREADY_EXISTS - значит запуск первый, иначе - не первый; закрываем этот mutex; А если запущено 5 экземпляров, но тут закрыли первое приложение?... ИМХО, надо не закрывать мутекс, а сначала пытаться открыть, и при остуствии - создавать. И держать открытым. Тогда он сам удалится только при закрытии последнего экземпляра приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:51:50 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
Если предполагается, что программы будут редко перезапускаться и постоянно висеть - то значит пункты 2 и 5 лучше вынести в отдельный поток и запускать его всегда и постоянно (п. 5 вызывать в нем если GetLastError <> ERROR_ALREADY_EXISTS). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:52:13 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvpА если запущено 5 экземпляров, но тут закрыли первое приложение? Выше ответил уже) alekcvpИМХО, надо не закрывать мутекс...И держать открытым. Да, конечно, не надо, тут я не то написал написал. Хотя тут в этом варианте 20711214 можно и закрывать. alekcvpа сначала пытаться открыть, и при остуствии - создавать. Нет, иначе двое не смогут открыть и создадут, т.ч. это то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:58:42 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvp, А, понял. Не сразу въехал в алгоритм. Приложение не сможет обновить себя само, потому что у пользователя прав не хватит для записи, так что ИМХО без отдельного сервиса не обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 15:58:42 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
YuRockНет, иначе двое не смогут открыть и создадут, т.ч. это то же самое. Там от флагов зависит, создать может только один (он и будет хозяином), а открыть - многие, и он будет существовать пока его последний не закроет (или не закроется сам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:00:14 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvpтак что ИМХО без отдельного сервиса не обойтись. Бывает что да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:01:17 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
SOFT FOR YOUМогу ли я посмотреть, из каких учётных записей запущено (или заблокировано) приложение У Вас terminal server? Есть хорошая дока от MS: https://technet.microsoft.com/en-us/library/cc751287.aspx так же даю ссылку на топик, в котором я выкладывал и свой код на эту тему 984276 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:43:32 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#18+
alekcvpYuRockНет, иначе двое не смогут открыть и создадут, т.ч. это то же самое. Там от флагов зависит, создать может только один (он и будет хозяином), а открыть - многие, и он будет существовать пока его последний не закроет (или не закроется сам). С такими флагами при одновременном вызове CreateMutex вернет не NULL только одной программе. Тоже не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2017, 16:46:46 |
|
||
|
Проблема обновления софта, запущенного из разных учётных записей
|
|||
|---|---|---|---|
|
#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?all=1&fid=58&tid=2041947]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
48ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 179ms |
| total: | 313ms |

| 0 / 0 |
