Repository navigation
DevMonitor 1.12
Техническое обновление по итогам полной проверки кода.
- «Проверить обновление…» кладёт установщик в отдельную папку
DevMonitor-<версия>в «Загрузках» и сверяет его с
контрольной суммой SHA-256 из релиза на GitHub: не совпал — файл удаляется. Кнопка «Установить сейчас» ещё раз
сверяет файл и запускает установщик (если DevMonitor запущен без прав — через окно UAC); закрылся без установки —
окно говорит об этом, и кнопку можно нажать снова. Проводник сам больше не открывается, «Открыть папку» и
«Скопировать путь» остались. - Установщик и удаление трогают в папке программы только её файлы (подпапки
libиinstaller— целиком): чужие
файлы рядом остаются, папка удаляется, только если опустела. Непустую папку, не похожую на папку установки,
установщик не принимает; путь к папке нужен полный, для файла вместо папки и недоступного диска — отдельные
сообщения. При переустановке в другую папку прежняя очищается от файлов программы. Установщик нельзя закрыть
посреди установки, вторая его копия не запускается, а удаление не начинается, пока открыт установщик или уже идёт
другое удаление. Журнал установки%TEMP%\DevMonitor-setup.logзаписывает причину неудачи и итог установки
драйвера PawnIO. - Галочки установщика при обновлении берут текущее состояние: выключенный автозапуск остаётся выключенным, удалённый
ярлык на рабочем столе не возвращается, а установщик драйвера PawnIO, от которого ты раньше отказался, сам больше не
открывается. Снятая галочка ярлыка удаляет существующий ярлык, а не пересоздаёт его вопреки выбору. Если ярлык не
удаётся создать или удалить (контролируемый доступ к папкам Защитника, атрибут «только чтение»), установка и
удаление больше не обрываются: окно называет причину, остальные шаги выполняются. Ярлык, который не удалось пометить
«Запуск от имени администратора», удаляется, а если не удалился — окно просит удалить его вручную. - Отменённое выключение или перезагрузка Windows (например, из-за несохранённого документа) больше не убирает значок
DevMonitor из трея при работающем оверлее и не приводит к окну падения по правому клику. - Оверлей, меню трея и статистика больше не замирают на секунды во время сборок: программа работает с обычным
приоритетом, а не пониженным, и опрос датчиков не ждёт, пока освободятся ядра, занятые Gradle и Kotlin. - Ноутбук с NVIDIA, проработавший весь сеанс от батареи, при следующем запуске больше не отключает видеокарту с ложным
«прошлый запуск упал на шаге «запуск NVML»». Установка новой версии снимает отключение видеокарты, оставшееся от
прежней. Если программа упала при чтении порогов температуры из драйвера NVIDIA, видеокарта отключается так же, как
после падения её датчика: причина видна в меню трея, «Проверить датчики снова» включает видеокарту и заново читает
пороги. Раньше пороги ноутбучной видеокарты отключались навсегда и молча. Окно настроек больше не пишет «драйвер не
отдал пределы», когда пределы просто не читались, а журнал записывает, почему пороги не прочитаны. Без папкиlib
меню трея советует переустановить DevMonitor. - Журнал записывает выход программы с причиной (меню «Выход», завершение сеанса Windows) и запуск второй копии.
- Настройки не подменяются стандартными. Если
settings.txtзанят другой программой, DevMonitor ждёт около 30 секунд
(при нехватке прав на файл — не ждёт) и, не дождавшись, закрывается с сообщением, а не красит температуры по
порогам железа, которое Windows видит в этом ПК. «Сбросить настройки» удаляет файлы после распаковки новой версии, а
не до неё, и снимает с них атрибут «только чтение»; не удалось удалитьsettings.txt— установка прерывается с
причиной, аposition.txt— только заметка в окне. Если не удаётся записать выбор об отчётах о сбоях, установщик
тоже называет причину. Окно настроек говорит, где на самом деле лежитsettings.txtи почему его не удалось
записать (причина попадает и в журнал), а «Сохранить» снимает с файла атрибут «только чтение». - Системные программы (
schtasks, Блокнот, Проводник,cmd) запускаются по полному пути, а DLL, которые установщик и
деинсталлятор подгружают после запуска, берутся только из системной папки Windows. Ссылки в «О приложении»
открывают браузер без прав администратора. Зависшая команда Планировщика завершается через 15 секунд, а задача
автозапуска удаляется, даже если проверка её наличия не ответила. - «Журнал» в трее больше не показывает окно падения, если Блокнот не открылся; «Скопировать путь» в окне обновления и
ссылки в «О приложении» — если буфер обмена занят или браузер не открылся. ЗапускDevMonitor.exeбез прав, пока
работает копия с правами (ярлык или автозапуск), больше не может закончиться окном падения: вторая копия просто
закрывается. - Описание отчёта о сбое в установщике и README приведено к тому, что на самом деле пишется в журнал: время сбоя, имя
пользователя и домена (у доменной учётки — домен, а не имя компьютера), пути к программе, её данным и скачанному
обновлению, проверки, загрузки и запуск обновлений. Пример команды автозапуска с путём из папки автора из README
убран.