powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проконтролировать, что системный файл именно тот который нужен
12 сообщений из 12, страница 1 из 1
Проконтролировать, что системный файл именно тот который нужен
    #39619959
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть некоторый "системный" файл, ну или просто файл.
Например,
C:\Windows\System32\inetcomm.dll

Смысл в чем:
1) путь к файлу и его имя известны
в зависимости от версии Win, билда, установленных обновлений и т.п.
2) его может быть или не быть
3) он может быть разных версий, например 10.0.16299.15, 10.0.15063.0, 6.0.6002.18005, 6.3.9600.16384 и т.п.
4) в зависимости от версии файла, он может вообще не выполнять то что должен (наследие старых версий, версию формально поменяли, фигню в него воткнули, м.б. даже нарочно залочили, на всякий случай оставили в системе, в итоге не работает).

Есть некий эталонный файл (проверенный), с которым точно все будет работать.
С зоопарком систем и версий, что там еще работает, а что нет и когда перестало, разбираться неохота.
Поэтому ставим задачу так: проверить имеющийся файл и заменить его на "эталон" в случае несовпадения.
"Несовпадение" у меня изначально гарантировано, т.к. "рабочие эталоны" тащу с висты на Win7...Win10.
Но проверка оправдана, ибо "эталон" хаотично может замениться повторно на "текущий системный" (после любого обновления OS).
Здесь разумен контроль напр. через автозагрузку (препятствий типа "используется системой" для нужных мне файлов нет, владельца/права программно разруливаем).

Моя идея, сравнивать md5 (через API, рабочий код есть, чтоб не нарываться на FipsAlgorithmPolicy). Не совпадает, восстанавливать "эталон".
Вместо версий, дат, размеров файлов и т.п.
Разумно?
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620016
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77 Поэтому ставим задачу так: проверить имеющийся файл и заменить его на "эталон" в случае несовпадения.

Заменяем на «эталон» и отваливается что-то другое. Очень разумно )))
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620052
mikron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77,


Класно придумал! И всё так просто. Никаких подписей, никаких сигнатур, никаких версий.
Просто - Эталон. Именно с большой буквы.

бл*, это прорыв в эволюции.
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620055
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЗаменяем на «эталон» и отваливается что-то другое. Очень разумно )))
Ну, ты ж не знаешь о чем речь, а утверждаешь что "отваливается".
Хочешь, поизучай предмет.

https://ogri.me/ru/computer-service/1138-vnedrenie-windows-mail-v-windows-10-versii-1709

https://ogri.me/ru/computer-service/735-aktivizatsiya-windows-mail-v-windows-8

https://ogri.me/ru/computer-service/157-aktivizatsija-windows-mail-v-windows-7

Вот тогда и поговорим конкретно, порассуждаем.
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620057
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikron подписей, никаких сигнатур, никаких версий.
Ну, здрасьте, влез со своими смайликами.
Виндовые файлы обычно подписываются в файлах cat, и если речь о драйвере то и не установится.
Я так менял modem.sys и тащил еще подписанный файл каталога из того пакета где еще работало (мог подписать своей MS Code Signing но не стал).
Более того, заставил MS исправить баг (в Win 10, через год после того как они "случайно сломали").

Но WinMail (о котором речь) к слову вообще никак не подписан даже на напичканной UAC-окнами Висте, где он официальный "компонент".
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620065
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Вот тогда и поговорим конкретно, порассуждаем.

Т.е. ты не в курсе, как DDL Hell в винде уже давно решается? Что на компе может быть десяток версий одной и той же DLL.

Ну ок, чо. Костыляйте дальше, если нравится.
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620155
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Ладно, соседнюю тему надеюсь закрыли.

hVostt ты меня ... отправил читать какие-то твои темы, как будто я их не читал.
Если ты имел ввиду ссылки на WinMail в четвертом посте этого топика,
то темы и сайт не мои, статьи писал не я. Ребятам я здорово помог когда они обратились ко мне за помощью в прошлом году, потом они помогли мне. Мы общаемся.

hVosttТ.е. ты не в курсе, как DDL Hell в винде уже давно решается? Что на компе может быть десяток версий одной и той же DLL.
Что имел ввиду? Статью в википедии я прочел, то что из-за разных версий что-то может не работать как бы не новость.

И да, проблемы с "версиями" как бы есть, одну вот нашел. Т.е. написал tool и обнаружил, что с вистовской 32-битной msoe.dll отваливается MAPI (которое с таким трудом восстановили) на 64-битной 1709 (а с той которая еще была на 1703 работает).
Но это все вопросы которые надо решать в рамках конкретного предмета (и со знанием именно предмета), а не на уровне общих утверждений или тем более смайликов (не в ваш адрес). Т.е. я tool написал, кот. быстро меняет файлы (ручками то замучаешься владельцев/права/атрибуты менять), и уже увидел проблему, а так бы не увидел.
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620185
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Что имел ввиду? Статью в википедии я прочел, то что из-за разных версий что-то может не работать как бы не новость.

https://ru.wikipedia.org/wiki/Side-by-side_assembly
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620190
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий77Если ты имел ввиду ссылки на WinMail в четвертом посте этого топика,

Я честно не знаю как там дела у WinMail, но в целом плохая практика заменять DLL на свою, потому что может сломаться что-то другое, по возможности нужно использовать SxS.
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620198
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Не уверен, что в данном случае SxS как-то поможет и имеет отношение к делу.
Вкратце, WinMail это наследник OE6, официально присутствовал только на висте.
Начиная с Win7 он "залочен" (очевидно тупой маркетинг).
Залочена одна единственная dll:
C:\Program Files\Windows Mail\msoe.dll
(ее однозначно надо брать из висты - иначе не запустится)
Тем не менее все его dll исправно обновлялись MS (версии менялись) вплоть до Win10 1703 включительно.
На Win10 1709 большую часть WinMail таки выпилили, но несколько штук осталось, они продолжают "обновляться".
Проблема еще подкрепляется тем, что начиная с какого-то момента (наверно с Win8), нет mui-файлов локализации (папка Ru-ru напр.) для "текущих" версий.
В принципе на любой OS включая 1709 программа восстанавливается "танцами с бубном".
Но появилась идея написания типа "универсального инсталлятора", что ни есть тривиально.
С "версиями" надо просто играться и думать.
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620407
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может просто перейти на более современные DLL, Чем пытаться поддерживать те, что уже не поддерживаются системой, завтра выйдет Windows 11 и эта DLL'ка там вообще небудет загружаться и что тогда?
...
Рейтинг: 0 / 0
Проконтролировать, что системный файл именно тот который нужен
    #39620424
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesможет просто перейти на более современные DLL, Чем пытаться поддерживать те, что уже не поддерживаются системой, завтра выйдет Windows 11 и эта DLL'ка там вообще небудет загружаться и что тогда?

Есть люди, которые до сих пор фапают на XP :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проконтролировать, что системный файл именно тот который нужен
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]