arkhivania 0 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 Помогите пожалуйста! Здравствуйте, я разработчик программы и к сожалению возникают проблемы с установкой этой программы на компьютерах с касперским. Сейчас активно идет внедрение в далеких от Москвы городах и поэтому данные у меня не полные, но так как они массовые думаю что вы мне сможете помочь 1) Речь идет о Windows XP 2) У меня есть небольшой сервис (запущенный под систем эккаунтом), который является пускачем другой программы (запускает эту программу в сессии пользователя, но под System эккаунтом) которая в свою очередь является UI частью программы. 3) По всей видимости если на компьютерах стоит антивирус касперского (по крайней мере версия 5.0) происходит такое чудо, что пускач не может пускануть эту программу (коды ошибок к сожалению не могу дать, в логах системных ничего нет). 4) всякие доверенные программы и так далее не помогают. 5) Я обратил внимание, что даже другие сервисы, которые должны быть запущены под SYSTEM эккаунтом вроде как под ним и не запущены, по крайней мере в диспетчере задач имя пользователя у них пустое 6) данный способ работает уже много где и под Windows XP и под Windows Vista и под Windows 7 и с антивирусами других производителей, но ничего похожего нет. Что делать? ААА жду... спасибо. п.с. поподробнее здесь приведу код, который запускает процесс тут инвоки Win32 апишных функций public static int? CurrentSessionID() { int dwSessionId = 0; IntPtr WTS_CURRENT_SERVER_HANDLE = IntPtr.Zero; IntPtr pSessionInfo = IntPtr.Zero; int dwCount = 0; WTSEnumerateSessions(WTS_CURRENT_SERVER_HANDLE, 0, 1, ref pSessionInfo, ref dwCount); Int32 dataSize = Marshal.SizeOf(typeof(WTS_SESSION_INFO)); Int32 current = (int)pSessionInfo; for (int i = 0; i < dwCount; i++) { WTS_SESSION_INFO si = (WTS_SESSION_INFO)Marshal.PtrToStructure((System.IntPtr)current, typeof(WTS_SESSION_INFO)); if (WTS_CONNECTSTATE_CLASS.WTSActive == si.State) return si.SessionID; current += dataSize; } return null; } public static bool StartProcessAndBypassUAC(String applicationName, out PROCESS_INFORMATION procInfo) { uint winlogonPid = 0; IntPtr hUserTokenDup = IntPtr.Zero, hPToken = IntPtr.Zero, hProcess = IntPtr.Zero; procInfo = new PROCESS_INFORMATION(); var sss = CurrentSessionID(); if (sss == null) return false; int dwSessionId = sss.Value; Process[] processes = Process.GetProcessesByName("winlogon"); foreach (Process p in processes) { if ((uint)p.SessionId == dwSessionId) { winlogonPid = (uint)p.Id; } } hProcess = OpenProcess(MAXIMUM_ALLOWED, false, winlogonPid); if (!OpenProcessToken(hProcess, TOKEN_DUPLICATE, ref hPToken)) { CloseHandle(hProcess); return false; } SECURITY_ATTRIBUTES sa = new SECURITY_ATTRIBUTES(); sa.Length = Marshal.SizeOf(sa); if (!DuplicateTokenEx(hPToken, MAXIMUM_ALLOWED, ref sa, (int)SECURITY_IMPERSONATION_LEVEL.SecurityIdentification, (int)TOKEN_TYPE.TokenPrimary, ref hUserTokenDup)) { CloseHandle(hProcess); CloseHandle(hPToken); return false; } STARTUPINFO si = new STARTUPINFO(); si.cb = (int)Marshal.SizeOf(si); si.lpDesktop = @"winsta0\default"; int dwCreationFlags = NORMAL_PRIORITY_CLASS | CREATE_NEW_CONSOLE; bool result = CreateProcessAsUser(hUserTokenDup, // client's access token null, // file to execute applicationName, // command line ref sa, // pointer to process SECURITY_ATTRIBUTES ref sa, // pointer to thread SECURITY_ATTRIBUTES false, // handles are not inheritable dwCreationFlags, // creation flags IntPtr.Zero, // pointer to new environment block null, // name of current directory ref si, // pointer to STARTUPINFO structure out procInfo // receives information about new process ); CloseHandle(hProcess); CloseHandle(hPToken); CloseHandle(hUserTokenDup); return result; } Цитата Ссылка на сообщение Поделиться на другие сайты
MedvedevUnited 230 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 Здравствуйте! Добро пожаловать на форум! Если проблемы с версией антивируса 5.0, дальше говорить смысла нет. Она уже давно не поддерживается (и, по идее, даже работать должна с трудом ), даже корпоративная. Цитата Ссылка на сообщение Поделиться на другие сайты
arkhivania 0 Опубликовано 21 января, 2010 Автор Share Опубликовано 21 января, 2010 Здравствуйте!Добро пожаловать на форум! Если проблемы с версией антивируса 5.0, дальше говорить смысла нет. Она уже давно не поддерживается (и, по идее, даже работать должна с трудом ), даже корпоративная. то есть вы хотите сказать, что если лицензия куплена до августа 2010 года, то продукт не поддерживается? Цитата Ссылка на сообщение Поделиться на другие сайты
MedvedevUnited 230 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 Нет. Есть таблица поддержки продуктов: http://support.kaspersky.ru/support/support_table Цитата Ссылка на сообщение Поделиться на другие сайты
Kapral 1 488 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 А на последних версиях продуктов ЛК - проблема наблюдается? Цитата Ссылка на сообщение Поделиться на другие сайты
arkhivania 0 Опубликовано 21 января, 2010 Автор Share Опубликовано 21 января, 2010 Нет. Есть таблица поддержки продуктов: http://support.kaspersky.ru/support/support_table ну на самом деле с современными версиями этот трюк не проходит, так что может дело не только в версии касперского. То есть на помощь мне не сильно надеяться? Цитата Ссылка на сообщение Поделиться на другие сайты
Kapral 1 488 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 Давайте так Что говорит по этому поводу КИС2010? Цитата Ссылка на сообщение Поделиться на другие сайты
arkhivania 0 Опубликовано 21 января, 2010 Автор Share Опубликовано 21 января, 2010 Давайте так Что говорит по этому поводу КИС2010? мне к сожалению говорит не КАВ и не КИС, мне говорят по телефону разъяренные пользователи 1) мне вот не понятно вот что, я говорю службе запускаться из под эккаунта администратора 2) запускаю службу 3) в диспетчере задач не вижу чтобы процесс службы запускался под тем эккаунтом который я указал, имя пользователя пустое сейчас у меня к сожалению под рукой только удаленный стол к месту где стоит 5.0 Цитата Ссылка на сообщение Поделиться на другие сайты
Kapral 1 488 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 Поставьте себе на комп триалку КИС2010 и проверьте Ваше же программа , а не пользователей. 3) в диспетчере задач не вижу чтобы процесс службы запускался под тем эккаунтом который я указал, имя пользователя пустое Можно увидеть скриншот? Цитата Ссылка на сообщение Поделиться на другие сайты
arkhivania 0 Опубликовано 21 января, 2010 Автор Share Опубликовано 21 января, 2010 Можно увидеть скриншот? поставлю КИС спасибо... скриншот прилагается вот скриншот Цитата Ссылка на сообщение Поделиться на другие сайты
Kapral 1 488 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 Такое бывает и без этой программы. Как лечится уже не помню Но это не связано с антивирусом. Цитата Ссылка на сообщение Поделиться на другие сайты
arkhivania 0 Опубликовано 21 января, 2010 Автор Share Опубликовано 21 января, 2010 поставил кис на свежую машину XP вижу такой же скриншот про эккаунты.... но служба смогла запустить процесс и всё работает как надо (это хорошо) дистрибутив kis9.0.0.736ru.exe Цитата Ссылка на сообщение Поделиться на другие сайты
hinote 116 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 мне к сожалению говорит не КАВ и не КИС, мне говорят по телефону разъяренные пользователи здесь дело обстоит так: Если какое то приложение переходит в разряд неподдерживаемых, то заведомо к этому сроку лицензий с оставшимся сроком действия остаться уже не должно. Именно для того, чтобы не звонили разъяренные пользователи. Т.е. скорее всего у вас лицензия на более свежую корпоративную версию, но она по каким то причинам используется с более старой 5.0. После (а на самом деле как я уже написал - гораздо заранее ) перевода приложения в разряд неподдерживаемых все активности с ней связанные (не только исправления ошибок, но и продажа ключей) полностью прекращаются. Вы и ваши пользователи имеют право перейти бесплатно на более новые версии приложений, если имеется соотв. действующая лицензия. Цитата Ссылка на сообщение Поделиться на другие сайты
arkhivania 0 Опубликовано 21 января, 2010 Автор Share Опубликовано 21 января, 2010 здесь дело обстоит так: Если какое то приложение переходит в разряд неподдерживаемых, то заведомо к этому сроку лицензий с оставшимся сроком действия остаться уже не должно. Именно для того, чтобы не звонили разъяренные пользователи. Т.е. скорее всего у вас лицензия на более свежую корпоративную версию, но она по каким то причинам используется с более старой 5.0. После (а на самом деле как я уже написал - гораздо заранее ) перевода приложения в разряд неподдерживаемых все активности с ней связанные (не только исправления ошибок, но и продажа ключей) полностью прекращаются. Вы и ваши пользователи имеют право перейти бесплатно на более новые версии приложений, если имеется соотв. действующая лицензия. за информацию спасибо, но к сожалению замена версии антивируса в учреждении не входит в нашу компетенцию, наши люди в учреждении устанавливают оборудование и софт. Цитата Ссылка на сообщение Поделиться на другие сайты
Kapral 1 488 Опубликовано 21 января, 2010 Share Опубликовано 21 января, 2010 А там точно стоит корпоративная 5ка? тогда надо тренироваться на корпоративной 6 (6.0.3.837 или 6.0.4.14хх) Да, кстати - какой мощности компы там? Если известно Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.