|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
и найти путь к нему? Т.е. например, есть приложение А, которое на старте определяет, установлено ли приложение Б в системе, и если да то добавляет себе в меню запуск ехе по обнаруженному пути. Попробовал такой путь: https://stackoverflow.com/questions/908850/get-installed-applications-in-a-system Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Но оказалось, что InstallLocation во многих случаях пустой, и определить факт, что продукт установлен - можно, но найти путь к нему - остается вопросом ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 18:22 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256k, в виндах нет единого механизма для этого. Только анализировать конкретное приложение и смотреть где и как оно следы оставляет. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 18:25 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256k string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; ИМХО, для приложения с классическим инсталлером это правильный путь. Я во всяком случае так проверяю при установке, установлено ли УЖЕ мое это приложение и вычисляю путь к un-инсталлеру (а заодно и ко всему остальному, что лежит там же). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 18:31 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Дмитрий77256k string registry_key = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"; ИМХО, для приложения с классическим инсталлером это правильный путь. Я во всяком случае так проверяю при установке, установлено ли УЖЕ мое это приложение и вычисляю путь к un-инсталлеру (а заодно и ко всему остальному, что лежит там же). Это да, но как найти путь, где установлен продукт? InstallLocation - пустой. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 18:36 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Pu4koff, Почему? WinInstall это бд в винде. Там в табличках все есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 18:38 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256kЭто да, но как найти путь, где установлен продукт? InstallLocation - пустой. Ну, ты же знаешь какой конкректно продукт ты ищешь. Напр, UninstallString - путь к де-инсталлеру, а он как правило лежит в папке с продуктом. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 18:50 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123Pu4koff, Почему? WinInstall это бд в винде. Там в табличках все есть. WinInstall - это msi инсталляторы или что? Часть программ ставится тупо как распаковка архива и нигде никак не оставляют о себе информацию. У части какие-то свои самодельные инсталляторы, у каждого свои заморочки. Какие-то программы ставятся на машину, какие-то - на пользователя. В винде никакой обязаловки на этот счёт нет. Даже разные продукты Microsoft ведут себя как хотят и нет никакой политики партии и единства. Инсталляторы же делаются, чтобы ставилось ПО и работало, а какая-то там вспомогательная и необязательная информация - это никому не интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 19:09 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Дмитрий77256kЭто да, но как найти путь, где установлен продукт? InstallLocation - пустой. Ну, ты же знаешь какой конкректно продукт ты ищешь. Напр, UninstallString - путь к де-инсталлеру, а он как правило лежит в папке с продуктом. или там будет msiexec.exe {GUID} ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 19:12 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Pu4koffили там будет msiexec.exe {GUID} Ну наверняка этот {GUID} известно где лежит...в том же реестре хотя я msiexec.exe никогда не пользовал, не знаю. Но общий мысль такой, что если продукт конкретный, то что-то конкретное (где лежит) про него вытянуть из реестра или откуда-то там можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 19:23 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Дмитрий77Pu4koffили там будет msiexec.exe {GUID} Ну наверняка этот {GUID} известно где лежит...в том же реестре хотя я msiexec.exe никогда не пользовал, не знаю. Но общий мысль такой, что если продукт конкретный, то что-то конкретное (где лежит) про него вытянуть из реестра или откуда-то там можно. А может просто в Current User будет раздел Software\SPARK и там уже запись InstallPath или ExePath какой-нибудь. Об этом я сразу и написал, что нет тут серебряной пули и нужно смотреть по месту. ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 19:31 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Pu4koff, Мы про те что стоят в Меню - Компьютер - Добавление и удаление программ. Очевидно что не про портабле. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 19:54 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123Pu4koff, Мы про те что стоят в Меню - Компьютер - Добавление и удаление программ. Очевидно что не про портабле. Что-то типа официального источника такой информации я знаю только тот самый реестр, где ТС уже смотрел. Для x64 систем там еще одну соседнюю ветку можно смотреть Wow6432 или что-то в этом духе. Админским штатным путём можно пожалуй считать WMI. Например, в PowerShell можно выполнить скрипт: Код: powershell 1.
у меня лично большинство записей без пути установки, что собственно и не удивительно, т.к. источник информации тот же реестр. Так что придётся таки изучать конкретный продукт и под него подстраиваться. Варианты тут такие: 1) Программа хранит настройки в реестре и есть ветка с именем программы (обычно по имени называют, но могут и GUID использовать какой-нибудь) и разработчики туда записали путь к корневой папке 2) Программа обычно ставится в ассоциацию с непопулярным расширением, тогда в реестре в разделе по ассоциации с этим расширением можно взять расположение exe-файла программы. Дополнительно по имени exe-шника удостовериться, что это нужная программа и вырезать путь. 3) Тупо в лоб перебирать возможные популярные пути. Путь по-умолчанию естественно в первую очередь (не у всех программ инсталляторы хотят в програмфайлс устанавливать изначально, есть и ценители всяких C:\StroySoft\). 4) Пусть пользователь вообще сам показывает куда поставил стороннюю программу, а то обленились понимаешь. Раньше часто встречал программы, которые лениво пытались сами проставить дефолтный путь из пункта 3, а в случае облома давали пользователю самому выбирать куда он чего поставил. Причём этим грешили даже сами разработчики программы, когда ставилось обновление или плагин какой. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 21:57 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Pu4koffWMI +1 API мне больше нравится чем реестр. Мы же программисты)). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2018, 23:44 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123Pu4koffWMI +1 API... Какие же это API? Это нехилая такая оболочка, часто тормознутая и с глюками. Вот это список модемов через WMI Вот это тоже самое через API 16059078 Разницу чувствуете? WMI, да, пару строк кода. API - простыня. Но в указанном примере API отрабатывает мгновенно, а WMI "думает пару секунд, чего-то там запускает", + WMI при нек. условиях в конкретном примере может дать сбой (долго объяснять). Если выбор между WMI и "тупо прочесть реестр", то быстрее и надежней второе. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 00:20 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Дмитрий77, Пусть автор решает. https://msdn.microsoft.com/en-us/library/windows/desktop/aa372454(v=vs.85).aspx Я такое вообще в IDE инсталлятора делал. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 07:27 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123Пусть автор решает. Не спорю. Идей ему достаточно подкинули. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 11:02 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256k, cmd C:\Users\SPAWN>WMIC wmic:root\cli> "/?" for help, QUIT to Exit. wmic:root\cli>/output:C:\windows\temp\apps.txt product get name,version look apps.txt ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 11:06 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Дмитрий77Petro123Пусть автор решает. Не спорю. Идей ему достаточно подкинули. Вроде и достаточно, а по сути - топчемся на месте. В реестре значение ключа для анинстолла - "или там будет msiexec.exe {GUID}" П-ц. WMI может быть не активен в общем случае. Где-то есть в реестре путь, думалось, что есть какое-то известное место, а получается "как всегда" ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 11:25 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256k, Ну, а что ты хотел? Я вот например знаю куда моя программа чего пишет. И конечно найду ее, куда б юзер ее не засунул. Еще я напр. знаю куда WinMail (вистовский) чего пишет, что уже не тривиально, поэтому я его юзаю на последнем Win10 в том числе, и плевать что MS его "убил" еще в семерке, не предоставив людям нормальной альтернативы. Вот и ты должен потратить драгоценное свое время, чтоб выяснить куда чего пишет то что нужно конкретно тебе. Оно поверь окупается впоследствии. Вот лично мне твой SPARK не интересен, я даже не знаю что это такое, как есть и чем закусывать. Открываешь regedit, делаешь поиск по "ключевым словам", вангуешь и мухлюешь. Это не в обиду, это очень хороший совет, не обессудь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 11:43 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256kДмитрий77пропущено... Не спорю. Идей ему достаточно подкинули. Вроде и достаточно, а по сути - топчемся на месте. В реестре значение ключа для анинстолла - "или там будет msiexec.exe {GUID}" П-ц. WMI может быть не активен в общем случае. Где-то есть в реестре путь, думалось, что есть какое-то известное место, а получается "как всегда" MsiGetProductInfo https://msdn.microsoft.com/ru-ru/library/windows/desktop/aa370130(v=vs.85).aspx На вход дать гуид поиска программы. Тот же что в реестре. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 11:46 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123MsiGetProductInfoу меня в скрипте работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 11:47 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Дмитрий77256k, Ну, а что ты хотел? Я вот например знаю куда моя программа чего пишет. И конечно найду ее, куда б юзер ее не засунул. Еще я напр. знаю куда WinMail (вистовский) чего пишет, что уже не тривиально, поэтому я его юзаю на последнем Win10 в том числе, и плевать что MS его "убил" еще в семерке, не предоставив людям нормальной альтернативы. Вот и ты должен потратить драгоценное свое время, чтоб выяснить куда чего пишет то что нужно конкретно тебе. Оно поверь окупается впоследствии. Вот лично мне твой SPARK не интересен, я даже не знаю что это такое, как есть и чем закусывать. Открываешь regedit, делаешь поиск по "ключевым словам", вангуешь и мухлюешь. Это не в обиду, это очень хороший совет, не обессудь. проверил вариант через WMI - та же фигня, он выворачивает по сути ту же ветку реестра, и InstallLocation пустой тоже ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 11:48 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256kпроверил вариант через WMI - та же фигня, он выворачивает по сути ту же ветку реестра, Во-во. О чем и я пытался сказать несколькими постами выше, намекая о том что чтение реестра в лоб эффективнее WMI (при отсутствии нормальных API, которые впрочем тоже туда же лезут, но "по классической науке" и без "песочных часиков"). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 11:53 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256kпроверил вариант через WMI -во первых код давай. Во вторых, у меня работает, значит что то делаю не так) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 12:14 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123256kпроверил вариант через WMI -во первых код давай. Во вторых, у меня работает, значит что то делаю не так) В перечислении пропертей есть InstallLocation, но там пусто, как, собственно и в реестре. Пошел в реестр, пальцами написал в ключ InstallLocation: fignya Но эта функция все равно дает пусто private bool isInstalled(string name) { ManagementObjectSearcher p = new ManagementObjectSearcher("SELECT * FROM Win32_Product"); foreach (ManagementObject program in p.Get()) { if (program != null && program.GetPropertyValue("Name") != null && program.GetPropertyValue("Name").ToString().Contains(name)) { Console.WriteLine(@"FOUND: {0}", name); foreach(var item in program.Properties) { Console.WriteLine(@"---: {0}, {1}", item.Name, item.Value); } return true; } } return false; } ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 17:04 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256k, 10 раз сказать про MsiGetProductInfo? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 17:17 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123256k, 10 раз сказать про MsiGetProductInfo? productCode="guid"; propertyName="InstallLocation"; Код: c# 1. 2. 3. 4. 5.
status = 0 вернула пустую строку ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 17:53 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123MsiGetProductInfo А, ну вот, настоящая API. Я просто когда свой код на VB6 с извлечением из @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall писал, на API еще не так "подсел". Ну работает, не трогаю, в .Net этот функционал вроде не мувал, потому что выяснятель чего где установлено работает до проверок .Net версий и на .Net его писать нельзя. Кстати наличие нужной .Net версии тоже через реестр подобным же образом проверяю. А MsiGetProductInfo я думаю и глубже прокопает, надо взять на заметку. Хотя это наверно касается только того что установлено через msi-инсталлер, а я им как бы не пользуюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 17:54 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256kвернула пустую строку У меня работат в скрипте. Ищи, или я завтра гляну. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2018, 18:09 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256kPetro123256k, 10 раз сказать про MsiGetProductInfo? productCode="guid"; propertyName="InstallLocation"; Код: c# 1. 2. 3. 4. 5.
status = 0 вернула пустую строку Проверяй повторно. Вот один из примеров https://stackoverflow.com/questions/4013425/msi-interop-using-msienumrelatedproducts-and-msigetproductinfo По факту гуид должен быть тот же что в реестре в Wow64....microsoft...wind....curren....uninstall. Т.е. гуид продукта. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 10:20 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123256kвернула пустую строку У меня работат в скрипте. Ищи, или я завтра гляну. Работает, если в реестре InstallLocation пустой? У меня возвращает пустое значение. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 12:02 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123256kпропущено... productCode="guid"; propertyName="InstallLocation"; Код: c# 1. 2. 3. 4. 5.
status = 0 вернула пустую строку Проверяй повторно. Вот один из примеров https://stackoverflow.com/questions/4013425/msi-interop-using-msienumrelatedproducts-and-msigetproductinfo По факту гуид должен быть тот же что в реестре в Wow64....microsoft...wind....curren....uninstall. Т.е. гуид продукта. Я этот код и юзю, который отмечен там как ответ. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 12:04 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256k, Ok. Ждите. Я или кто, проверит код. Вы когда нибудь на WinApi32 писали? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 12:42 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123256k, Ok. Ждите. Я или кто, проверит код. Вы когда нибудь на WinApi32 писали? 1.писали 2. я не жду, чтобы кто-то проверил мой код, я сам уже наклепал 4 разных варианта, а путь не нашел, пусто. 3. я хочу понять, можно ли в такой ситуации и как - обнаружить из приложения, что установлено софтваре и найти путь, где. ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 12:56 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256k, У вас ошибка в 17 строке. Так шутят программисты на вашу ситуацию. WinApi описан, но у вас не работает. Я пока занят( ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 13:32 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123256k, У вас ошибка в 17 строке. Так шутят программисты на вашу ситуацию. WinApi описан, но у вас не работает. Я пока занят( Никакой ошибки нет. Но проясняется. Вообще-то понятие InstallLocation в общем случае для продукта не имеет смысла. Искать надо по компонентам, да и то там может быть кучеряво. MSI конечно - еще тот зверь ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 15:15 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
256k, Нет. Если ты сам сделал компоненты и расставил их по машине, то сам ССЗБ. Так никто не делает. Я все компоненты ставил в подпапку ИНСТАЛЛЯЦИИ ПРОДУКТА InstallDir = c:\program....... Потом второй продукт ProductID я ставил к первому найдя его по ProductID1. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2018, 15:41 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Мне .иногда приходится писать проверки правильности установки всякой фигни. Часто единственный путь - тупо искать экзешник в файловой системе. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2018, 13:15 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Cat2, ну, это когда что то небольшое, портабле или старое. В новом очень удобно именно setup.exe со всеми прибамбасами. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2018, 13:32 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123ну, это когда что то небольшое, портабле или старое. Если это по технологии ClickOnce, то тоже только файлы. =============== Не знаю, может кому и поможет. Место установки сервиса обычно в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ TheService , ImagePath Но бывает и в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ TheService\Parameters , ImagePath ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2018, 14:02 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Cat2Мне .иногда приходится писать проверки правильности установки всякой фигни. Часто единственный путь - тупо искать экзешник в файловой системе. ну, это теоретически возможно, но путь тяжелый, по всем дискам шуршать. Кроме того, может быть копия этого фолдера или эхэ и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2018, 12:35 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Ролг Хупин, Обычно все же примерно известно, где искать. Как правило в корне системного диска или в корне "D". И только одна моя программа ставится в "Мои документы" ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2018, 13:32 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Cat2Как правило в корне системного диска или в корне "D".извини, устарело. Чтобы поставить туда нужно потрудится. Инсталляторы default другая папка. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2018, 13:45 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123Cat2Как правило в корне системного диска или в корне "D".извини, устарело. Чтобы поставить туда нужно потрудится. Инсталляторы default другая папка. На железке дофига унаследованных от доса и вин3 программ. Ставятся в каталоги "по-традиции". Впрочем и ДОС-программы кое-где остались. Программисты на Яве тоже не заморачиваются установкой в Program Files. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2018, 14:57 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
У меня было задание, подсчитать, сколько специализированных программ использует железка - более 20 тысяч. И это только те, которые устанавливаются централизованно, пакетами SCCM. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2018, 15:06 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Cat2Ставятся в каталоги "по-традиции".ну мы же о проф программах для инсталляции? Я о профессиональных. Там чтобы ставить в корень нужно скрипт писать и права проверять. А по умолчанию есть переменная и писать не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2018, 15:51 |
|
Как определить установлен ли продукт?
|
|||
---|---|---|---|
#18+
Petro123Я о профессиональных. Там чтобы ставить в корень нужно скрипт писать и права проверять Вот и я о профессиональных системах развертывания, когда надо установить что-то на 300 000 машин. https://msdn.microsoft.com/ru-ru/library/mt629356.aspx] Создание приложений с помощью System Center Configuration Manager ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2018, 20:26 |
|
|
start [/forum/topic.php?all=1&fid=20&tid=1399534]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 208ms |
0 / 0 |