Victor_VG
Tracker Mod | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ItsJustMe Проблема должна устранится с Git c654ef1bbad: Код: ProcessHacker/main.c @@ -931,17 +931,27 @@ VOID PhInitializeKph( ) { NTSTATUS status; +++ ULONG latestBuildNumber; PPH_STRING applicationDirectory; PPH_STRING kprocesshackerFileName; PPH_STRING processhackerSigFileName; KPH_PARAMETERS parameters; --- if (PhGetIntegerSetting(L"KphBuildNumber") != PhOsVersion.dwBuildNumber) +++ latestBuildNumber = PhGetIntegerSetting(L"KphBuildNumber"); +++ if (latestBuildNumber == 0) +++ { +++ PhSetIntegerSetting(L"KphBuildNumber", PhOsVersion.dwBuildNumber); +++ } +++ else { --- // Reset KPH after a Windows build update. (dmex) --- if (NT_SUCCESS(KphResetParameters(KPH_DEVICE_SHORT_NAME))) +++ if (latestBuildNumber != PhOsVersion.dwBuildNumber) +++ { +++ PhSetIntegerSetting(L"KphBuildNumber", PhOsVersion.dwBuildNumber); +++ // Reset KPH after a Windows build update. (dmex) +++ if (NT_SUCCESS(KphResetParameters(KPH_DEVICE_SHORT_NAME))) +++ { +++ PhSetIntegerSetting(L"KphBuildNumber", PhOsVersion.dwBuildNumber); +++ } } } | и к инсталлеру она никакого отношения не имела т.к. воспроизводилась простым снятием флажка Enable kermel-mode driver [] в Optopns -> General самого PH. Мне для её фиксации на развёрнутой из архива тест-копии этого хватило и я это описал как в теме, так и в инце #507. А раз так, то тут ты снова ошибаешься в своей оценке: Цитата: Если skipikу это еще всё не надоело, то он отпишется, что там у него за трабла. Я пока понимаю так, что у него какая-то трабла с установщиком - установщик у него драйвер удаляет. | И в коде установщика кроме управляемого пользователем удаления драйвера, для чего надо специальный флаг поставить самовольного рыпанья нет, только двухэтажный костыль прикручен: Код: procedure CurStepChanged(CurStep: TSetupStep); var iResultCode: Integer; begin if CurStep = ssInstall then begin if IsServiceInstalled('KProcessHacker3') then begin if IsCpyKPH() then if IsServiceRunning('KProcessHacker3') then begin StopService('KProcessHacker3'); Sleep(800); if not IsServiceStopped('KProcessHacker3') then begin Sleep(2200); NeedRestart(); end; end; end; if IsTaskSelected('delete_KPH_service') then begin StopService('KProcessHacker2'); StopService('KProcessHacker3'); RemoveService('KProcessHacker2'); RemoveService('KProcessHacker3'); end; end; if CurStep = ssPostInstall then begin if IsTaskSelected('create_KPH_service') then begin if not Exec(ExpandConstant('{app}\ProcessHacker.exe'), '-installkph -s', '', SW_HIDE, ewWaitUntilTerminated, iResultCode) then begin // handle failure if necessary; iResultCode contains the error code end; end; | я этот код сто лет в бед как написал, и уж за это время удаляй он драйвер это бы давно вылезло. Добавлено: Баг #507 исправлен. Проверено отключением драйвера в тест копии с последующим изменением-возвратом режима запуска и опросом SCM: Код: sc query KProcessHacker3 Имя_службы: KProcessHacker3 Тип : 1 KERNEL_DRIVER Состояние : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) Код_выхода_Win32 : 0 (0x0) Код_выхода_службы : 0 (0x0) Контрольная_точка : 0x0 Ожидание : 0x0 sc queryex KProcessHacker3 Имя_службы: KProcessHacker3 Тип : 1 KERNEL_DRIVER Состояние : 4 RUNNING (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN) Код_выхода_Win32 : 0 (0x0) Код_выхода_службы : 0 (0x0) Контрольная_точка : 0x0 Ожидание : 0x0 ID_процесса : 0 Флаги : | пометки PENDING_DELETION больше нет, при отключении драйвера PH выведет предупреждение об ограничении своих возможностей и все последствия. P.S. Собираема версия 3.0.7363.2836 Git-121c6e45, а в 3.0.7361.2834 Git-09d8a7d3 нехорошие слова вылезут (C2065 undeclared identifier ID_MODULE_INSPECT) вылезут. Я уже собрался там замену удалённому ID_MODULE_INSPECT влепить в сорцы, ан, Стив коммит откатил - не потребовалось.
---------- Жив курилка! (Р. Ролан, "Кола Брюньон") Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti |
|