Еще одна проблема Microsoft Windows и ПО

на страницах сайта 

www.electrosad.ru

Мой друг работает на компьютере с операционной системой Windows Xp SP2, он постоянно ищет программы новые более удобные для себя и удовлетворяющие его по качеству. Поскольку, примерно одна из десятка протестированных программ более или менее удовлетворяет его требованиям, этот процесс продолжается непрерывно. Заражений компьютера вирусами у него пока не было, но иногда в результате установки/удаления этих программ возникают проблемы с операционной системой. Последняя проблема, которую я помог ему решить связана с пакетом Microsoft.NET Framework.

 

 

Прежде всего, что такое Microsoft .NET Framework

Дистрибутивный пакет платформы Microsoft® .NET Framework устанавливает среду CLR и связанные файлы, необходимые для работы приложений, разработанных для платформы .NET Framework.

 

.NET Framework

— программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является исполняющая среда Common Language Runtime (CLR), способная выполнять как обычные программы, так и серверные веб-приложения. NET Framework поддерживает создание программ, написанных на разных языках программирования.

 

Хотя .NET является патентованной технологией корпорации Microsoft и официально рассчитана на работу под операционными системами семейства Microsoft Windows, но существуют независимые проекты (прежде всего это Mono и Portable.NET), позволяющие запускать программы .NET на многих других операционных системах.

Программа выполняемая в .NET Framework, может быть написанна на любом поддерживаемом языке программирования, сначала переводится компилятором в единый для .NET понятный человеку низкоуровневый язык Common Intermediate Language (CIL) (ранее назывался Microsoft Intermediate Language, MSIL). Затем компилятор производит перевод CIL-кода в объектный байт-код, а уже байт-код либо исполняется виртуальной машиной CLR, либо транслируется утилитой NGen в исполняемый код для конкретного целевого процессора. Использование виртуальной машины предпочтительно, так как избавляет разработчиков от необходимости заботиться об особенностях аппаратной части. В случае использования виртуальной машины CLR, встроенный в неё JIT-компилятор «на лету» преобразует промежуточный байт-код в машинные коды нужного процессора. Современная технология динамической компиляции позволяет достигнуть высокого уровня быстродействия. Виртуальная машина CLR также сама заботится о базовой безопасности, управлении памятью и системе исключений, избавляя разработчика от части работы.

Не вдаваясь в подробности, скажем, что пакет Microsoft.NET Framework содержит программы: виртуальную машину CLR, транслятор и библиотеки.

Для корректной установки Microsoft.NET Framework необходимо выполнить определенные требования, которые оговариваются в требованиях к системе изложенных на сайте Microsoft.

Первые версии содержали полный дистрибутив размером до 22 — 50 Мб, а четвертая версия загружается с помощью веб-установщика (менее 1 Мб), который собирает сведения о Вашем ПК, операционной системе, передает серверу данные о ней и загружает необходимые модули операционной системы, загружает и устанавливает компоненты .NET Framework, необходимые для выполнения на приложения с учетом архитектуры процессора и ОС, для которых оно предназначено.

 

Критика .NET Framework

Реализация платформы .NET Framework вызывала и вызывает множество нареканий.

Одним из главных объектов критики является менее рациональное использование ресурсов системы по сравнению с другими технологиями. Так, например, несколько приложений, выполняющихся в управляемой среде стремятся захватить больше ресурсов чем приложения того же типа, но обладающие более прямым доступом к ресурсам компьютера.

Недовольство разработчиков вызывает и тот факт, что код программ исполняемых в .NET Framework, легко может быть декомпилирован в сравнении с естественным кодом. Подобная уязвимость может привести к потере коммерческой тайны или дать возможность обхода механизмов контроля соблюдения лицензионных соглашений.

Новые версии платформы (3.5 и далее) вызвали новую волну недовольства тем, что они не предустанавливаются в версии Windows, предшествовавшие выходу Windows 7, что вынуждает пользователей тратить значительное время на их установку.

С технической точки зрения платформа также подвергается критике из-за отсутствия поддержки вызовов Streaming SIMD Extensions (SSE) в управляемом коде.

Ещё одним поводом для критики является поддержка стандартов, фактически ограничивающих кросс - платформенную реализацию .NET Framework, в результате чего полноценная реализация платформы присутствует лишь для Windows.

Частично подобная трудно переносимость компенсируется разработкой нескольких версий платформы для мобильных устройств, а также урезанными версиями .NET Framework для других операционных систем. Однако, несмотря на близость стандартов, принятых при разработке этих версий, конечные реализации полной совместимостью не обладают.

 

Откуда возникла проблема?

С некоторых пор перестал работать фирменный пакет от Canon для загрузки фото с цифрового фотоаппарата EOS 450D. Эта функция выполнялась с помощью программы EOS Utility, при запуске которой стало выдаваться сообщение "EOS Utility обнаружена ошибка. Приложение будет закрыто".

Мой товарищ рассказал, что это стало происходить после установки сильно рекламируемого графического редактора Point.Net. В результате, ему данное изделие не понравилось и он снес его, не задумываясь целиком. Чуть позже обнаружил отказ работать EOS Utility. Поскольку в сопроводительной документации ничего не говорилось о Microsoft.NET Framework не возникло никакой ассоциации повреждения с удалением Point.Net.

Долгие поиски причин неисправности результата не дали.

Вероятность вирусного повреждения системы практически нулевая , потому что она обеспечивалась трех уровневой системой защиты (Антивирус — брандмауэр программный — брандмауэр аппаратный).

Все выяснилось после того как после установки программы OpenHardwareMonitor, в которой было конкретное указание на необходимость .NET Framework на экран было выведено аналогичное сообщение ""ПРОГРАММА" обнаружена ошибка. Приложение будет закрыто". Сопоставление фактов дало предположение о повреждении именно .NET Framework.

В течении полугода, мой товарищ, забирал фото через "Панель управления -> Сканеры и Камеры". Это было неудобно и муторно.

Мои поиски в Интернет и вопросы на форумах результатов не дали.

 

Устранение проблемы

В течении полугода, мой товарищ, забирал фото через "Панель управления -> Сканеры и Камеры". Это было неудобно и муторно.

Мои поиски в Интернет и вопросы на форумах результатов не дали.

 

Восстановление системы

Незадолго до обнаружения действительных причин повреждения операционная система была восстановлена с помощью дистрибутива и средства проверки системных файлов (программы Sfc.exe), запускаемую из командной строки и используемую совместно с механизмом защиты файлов Windows.

В командной строке окна "ПУСК -> ВЫПОЛНИТЬ" вводится команда: sfc.exe /scannow

В результате поврежденные и недостающие файлы с дистрибутива переносятся на компьютер.

Для использования данного средства необходимо войти в систему с учетной записью администратора или члена группы «Администраторы».

Данная операция, на мой взгляд должна выполняться (при частой установке программ неизвестных производителей) при первых же признаках неполадок.

Никакого результата это не дало.

 

Восстановление .NET Framework

Неудачная попытка установить ему программу OpenHardwareMonitor подтолкнула заняться восстановлением Microsoft.NET Framework.

Для восстановления ПУСК -> НАСТРОЙКА -> ПАНЕЛЬ УПРАВЛЕНИЯ -> Установка удаление программ -> Выбрать программу "Microsoft .NET Framework" вашей версии и выбрать "Заменить/Удалить". Нажав "Заменить" и в всплывающем окне выбрать пункт "Восстановить" и нажать "Далее".

Далее ждите и выполняйте указания программы установки.

В результате, после восстановления системы и Microsoft .NET Framework, операционная система, все программы (в том числе использующие этот пакет) стали работать без проблем, в том числе и утилита EOS Utility" из комплекта фотоаппарата Canon EOS 450D и вновь установленная программа OpenHardwareMonitor, в том числе.

 

Заключение

Все изложенное показывает, что применение Microsoft.NET Framework решая проблему распространения программных продуктов Microsoft на мобильные платформы, иногда приводит к отказам программ работающих под управлением этого пакета. В исследованном случае, отказ вызван удалением одного из компонентов Microsoft.NET Framework, который был модифицирован или заменен устанавливаемой программой (в данном случае Point.Net), а при деинсталляции просто удален. В результате чего пакет .NET Framework потерял работоспособность.

Помню подобные проблемы ранних версий Windows, когда устанавливаемые программы заменяли dll библиотеки на свои, а при удалении программы удалялись все свои dll, в результате переставали работать некоторые другие программы.

В данном случае после обнаружения сбоя можно порекомендовать приведенные выше операции по восстановлению ОС и .NET Framework.

Или при деинсталляции внимательно следить за запросами деистиллятора и отказать в удалении файлов совместного использования.

P.S.
Будем надеяться, что это проблемы роста Microsoft.NET Framework. Как когда-то это происходило с самой ОС Windows. Объяснение этому только одно нестыковка разработчиков Microsoft.NET Framework и ПО использующего его.

А.Сорокин,
октябрь 2011

  Яндекс.Метрика

<<назад>> <<в начало>> <<на главную>>

Попасть прямо в разделы сайта можно здесь:

/Неизвестный процессор/Охлаждение ПК/Электроника для ПК/Linux/Проекты, идеи/Полезные советы/Разное/
/
Карта сайта/Скачать/Ссылки/Обои/Форум/Каталог/

При полном или частичном использовании материалов ссылка на "www.electrosad.ru" обязательна.
Ваши замечания, предложения, вопросы можно отправить автору через
гостевую книгу или
почтой.

Copyright © Sorokin A.D.

2002 - 2012