Что за файл manifest ini

Обновлено: 04.07.2024

Недавно на руборде в разделе Программирование был задан вопрос: «Зачем Win32-приложению манифест? На что он влияет?». Первое, что сразу приходит в голову большинству программистов — это темы оформления. Но на самом деле в современных виндах манифест нужен не только для этого. Я подумал и написал пять ключевых аспектов, на которые влияет манифест или его отсутствие. После этого сразу несколько человек попросили оформить этот пост в виде более развернутой статьи.

DLL hell. Возник он из-за того, что Windows задумывалась как идеальная система. Все приложения в ней всегда должны были писаться с использованием самых свежих версий системных библиотек. А различные версии самих библиотек должны были быть взаимозаменяемыми. Реальность быстро доказала всем, что для популярной операционки это несбыточная мечта, так и возник ад. Каждое второе приложение во время инсталляции перезаписывало системные библиотеки нужными ему версиями. В результате после установки приложения X установленное ранее приложение Y начинало глючить. А после переустановки приложения Y глючить начинало приложение X. В общем юзерам жилось весело.

Для решения этой проблемы в Windows XP появилась технология Side-by-side Assembly (SxS). Суть ее заключалась в том, что приложение могло явно указать, с какой версией библиотеки оно желает работать. Эта информация могла указываться либо в специальном файле .manifest, либо в ресурсах приложения в разделе Manifest. В самой ХР на основе новой технологии реализовали одну из самых заметных новых фишек системы — темы оформления.

Всем был хорош SxS кроме одного — он был ужасно неудобен для программиста. В 99% случаев манифест применялся только для включения тех самых тем оформления, и ни для чего больше. Разработчикам винды стало ясно, что нужен новый, более простой в использовании способ указать поддерживаемые версии системных библиотек. Тогда они придумали простое правило: в пределах одной версии системы интерфейс и поведение этих библиотек не изменяется. Нужно было только каким то образом научится определять какая их версия требуется конкретному приложению. Так в Windows 7 в манифесте появилась секция Compatibility, где можно указать с какими версиями ОС тестировалось приложение.
Также в манифесте начиная с Windows Vista появилось еще несколько секций, обо всех о них ниже.

Функции манифеста

    Активация тем оформления (Visual Styles)
    Эта технология появилась в ХР и полностью основана на SxS. Работает просто: вы запрашиваете у системы ComCtl32.dll шестой версии, и — вуаля — все стандартные контролы рисуются согласно с активированной в системе темой. Если же вы не упомянете в манифесте ComCtl32.dll, или манифест вообще будет отсутствовать в приложении, то система по умолчанию загрузит ComCtl32.dll пятой версии, которая отрисовывает контролы в стиле Win95. Кроме поддержки тем оформления, шестая версия ComCtl32.dll содержит кое-какой функционал, которого нету в пятой версии. Поэтому если отключить темы оформления, некоторые приложения будут работать и выглядеть не так, как задумывали их авторы.

Справа тоже самое приложение без манифеста:

8b3d193be574153b92b2b82f071d17bd.jpg

    Ключ requestedExecutionLevel.level позволяет указать требуемый приложению уровень прав пользователя. К примеру если указать requireAdministrator, то приложению будут предоставлены права администратора (если пользователь разрешит).

Запрос разрешения пользователя:

77196727f806b2ff223388cbad1b349f.jpg

Виртуализация файловой системы в деле:

2aa62e5a5c34966724146b16ea12edfc.jpg

С древнейших времен винда имеет механизм масштабирования интерфейса в зависимости от DPI монитора (тут говорится, что все началось в XP, но мне кажется, что раньше). В те времена эта настройка выставлялась только вручную, наверное из-за отсутствияEDID. Популярностью она не пользовалась, возможно потому, что запрятана была далеко, а возможно потому, что мониторов с большим разрешением было очень-очень мало. Кроме того, большая часть работы, необходимой для поддержки масштабирования, была отдана на откуп самим приложениям и их авторам. А программисты, как известно, люди весьма ленивые, поэтому куча софта для винды писалась в предположении, что DPI всегда равен стандартному значению 96. Очень часто встречалась ситуация, когда в приложении использовались библиотеки поддерживающие нестандартный DPI, в то время как код самого приложения его не поддерживал. Это приводило к появлению ужасных артефактов в интерфейсе приложения, стоило пользователю выставить DPI, к примеру, в значение 120 (масштабирование 125%):

3788e59447fec40d477460bb1dba592e.jpg

Разработчики Висты не стерпели подобного безобразия, и заложили в DWM возможность производить масштабирование самостоятельно, а приложениям врать, что DPI по прежнему равен 96. Причем зависящие от него системные настройки, разрешение монитора и даже положение мыши, также пересчитываются. К сожалению разработчики Висты небыли волшебниками, поэтому масштабирование DWM производит с помощью простых алгоритмов растягивания изображений. И если интерфейс приложения нужно увеличить, то происходит замыливание картинки. Представьте что было бы, если бы разработчики Фотошопа не могли это отключить. Таких бунтов на корабле никто не хотел, поэтому появилась возможность указать в манифесте, что ваше приложение таки умеет нормально масштабировать свой интерфейс, и помощь DWM ему не нужна. За это отвечает параметр dpiAware. Тут правда следует отметить, что по умолчанию масштабирование силами DWM включается при увеличении 150% и выше. Видимо в Microsoft посчитали, что при масштабировании 125% артефакты как на скриншоте выше вполне терпимы.

Слева масштабирование силами DWM, а справа — самого приложения:

407c59debee1be2881c80bcd429ef2e8.jpg

В Windows 8.1 появилась возможность указывать разный масштаб разным мониторам, если подключено сразу несколько. Соответственно у ключа dpiAware появилось новое значение «True/PM». Оно означает, что приложение умеет динамически изменять масштаб своего интерфейса при переносе окон с одного монитора на другой.

Наиболее интересен вопрос: «На что влияют эти GUID-ы?» Пока что список различий в поведении системных библиотек невелик. Наиболее интересно упоминание об оптимизации RPC. Получается что приложения, задекларировавшие совместимость с семеркой, будут работать быстрее.
В будущем этот раздел манифеста наверняка будет играть большую роль чем сейчас. Ведь в винде полно разных хаковпризванных обеспечивать совместимость. И теперь есть возможность оградить от них нормальные приложения.

Если GUID-ы полностью отсутствуют в манифесте, то к приложению применяются правила как к совместимому с Вистой:

2ac3e7be97f77a379e059ca4fdecbf3e.jpg

На этом я, пожалуй, завершу рассмотрение возможностей манифестов Win32-приложений. Если у вас есть какие-либо исправления или дополнения, пожалуйста, изложите их в комментариях.

Недавно на руборде в разделе Программирование был задан вопрос: «Зачем Win32-приложению манифест? На что он влияет?». Первое, что сразу приходит в голову большинству программистов — это темы оформления. Но на самом деле в современных виндах манифест нужен не только для этого. Я подумал и написал пять ключевых аспектов, на которые влияет манифест или его отсутствие. После этого сразу несколько человек попросили оформить этот пост в виде более развернутой статьи.

Для начала предлагаю вспомнить, как вообще в Windows появились манифесты, и как они развивались.

История манифеста

В древние времена в мире Win95/98 царил ад, точнее DLL hell. Возник он из-за того, что Windows задумывалась как идеальная система. Все приложения в ней всегда должны были писаться с использованием самых свежих версий системных библиотек. А различные версии самих библиотек должны были быть взаимозаменяемыми. Реальность быстро доказала всем, что для популярной операционки это несбыточная мечта, так и возник ад. Каждое второе приложение во время инсталляции перезаписывало системные библиотеки нужными ему версиями. В результате после установки приложения X установленное ранее приложение Y начинало глючить. А после переустановки приложения Y глючить начинало приложение X. В общем юзерам жилось весело.

Для решения этой проблемы в Windows XP появилась технология Side-by-side Assembly (SxS). Суть ее заключалась в том, что приложение могло явно указать, с какой версией библиотеки оно желает работать. Эта информация могла указываться либо в специальном файле .manifest, либо в ресурсах приложения в разделе Manifest. В самой ХР на основе новой технологии реализовали одну из самых заметных новых фишек системы — темы оформления.

Всем был хорош SxS кроме одного — он был ужасно неудобен для программиста. В 99% случаев манифест применялся только для включения тех самых тем оформления, и ни для чего больше. Разработчикам винды стало ясно, что нужен новый, более простой в использовании способ указать поддерживаемые версии системных библиотек. Тогда они придумали простое правило: в пределах одной версии системы интерфейс и поведение этих библиотек не изменяется. Нужно было только каким то образом научится определять какая их версия требуется конкретному приложению. Так в Windows 7 в манифесте появилась секция Compatibility, где можно указать с какими версиями ОС тестировалось приложение.
Также в манифесте начиная с Windows Vista появилось еще несколько секций, обо всех о них ниже.

Функции манифеста

    Активация тем оформления (Visual Styles)
    Эта технология появилась в ХР и полностью основана на SxS. Работает просто: вы запрашиваете у системы ComCtl32.dll шестой версии, и — вуаля — все стандартные контролы рисуются согласно с активированной в системе темой. Если же вы не упомянете в манифесте ComCtl32.dll, или манифест вообще будет отсутствовать в приложении, то система по умолчанию загрузит ComCtl32.dll пятой версии, которая отрисовывает контролы в стиле Win95. Кроме поддержки тем оформления, шестая версия ComCtl32.dll содержит кое-какой функционал, которого нету в пятой версии. Поэтому если отключить темы оформления, некоторые приложения будут работать и выглядеть не так, как задумывали их авторы.

Справа тоже самое приложение без манифеста:


    Ключ requestedExecutionLevel.level позволяет указать требуемый приложению уровень прав пользователя. К примеру если указать requireAdministrator, то приложению будут предоставлены права администратора (если пользователь разрешит).

Запрос разрешения пользователя:


Виртуализация файловой системы в деле:



Разработчики Висты не стерпели подобного безобразия, и заложили в DWM возможность производить масштабирование самостоятельно, а приложениям врать, что DPI по прежнему равен 96. Причем зависящие от него системные настройки, разрешение монитора и даже положение мыши, также пересчитываются. К сожалению разработчики Висты небыли волшебниками, поэтому масштабирование DWM производит с помощью простых алгоритмов растягивания изображений. И если интерфейс приложения нужно увеличить, то происходит замыливание картинки. Представьте что было бы, если бы разработчики Фотошопа не могли это отключить. Таких бунтов на корабле никто не хотел, поэтому появилась возможность указать в манифесте, что ваше приложение таки умеет нормально масштабировать свой интерфейс, и помощь DWM ему не нужна. За это отвечает параметр dpiAware. Тут правда следует отметить, что по умолчанию масштабирование силами DWM включается при увеличении 150% и выше. Видимо в Microsoft посчитали, что при масштабировании 125% артефакты как на скриншоте выше вполне терпимы.

Слева масштабирование силами DWM, а справа — самого приложения:


В Windows 8.1 появилась возможность указывать разный масштаб разным мониторам, если подключено сразу несколько. Соответственно у ключа dpiAware появилось новое значение «True/PM». Оно означает, что приложение умеет динамически изменять масштаб своего интерфейса при переносе окон с одного монитора на другой.

Наиболее интересен вопрос: «На что влияют эти GUID-ы?» Пока что список различий в поведении системных библиотек невелик. Наиболее интересно упоминание об оптимизации RPC. Получается что приложения, задекларировавшие совместимость с семеркой, будут работать быстрее.
В будущем этот раздел манифеста наверняка будет играть большую роль чем сейчас. Ведь в винде полно разных хаков призванных обеспечивать совместимость. И теперь есть возможность оградить от них нормальные приложения.

Если GUID-ы полностью отсутствуют в манифесте, то к приложению применяются правила как к совместимому с Вистой:

Удаление навязчивых программ и вирусов. Видео и текстовые инструкции.

пятница, 11 сентября 2020 г.

Как удалить Manifest

Что такое Manifest?

Manifest это вредоносное приложенте, которое при запуске на устройство копирует свои файлы на ваш жёсткий диск без вашего ведома. Далее он создаёт ключ автозагрузки в реестре с именем Manifest или wcumrg.exe. Вирус берет систему под контроль и без согласия пользовтелей отправляет рассылки спама или атак. Он также может скачивать какие-то опасные приложения, которые еще больше навредят системе.

Специалисты утверждают, что нужно, как можно скорее, избавиться от этой программы, потому что она крайне негативно влияет на работоспособносиь системы. Конкретней, она снижает работоспособность. Удалите вирус, чтобы предотвратить дальнейшее заражение. Вы можете удалить вирус вручную, но если вы не уверена за то, что не допустите ошибок, удалите вирус автоматически.

Программы для автоматического удаления Manifest


Удаление Manifest вручную

Шаг 1. Идем в раздел удаления программ и удаляем все подозрительное там.

Пуск -> Панель управления -> Программы и компоненты -> Удаление программы или пользуемся одной из утилит для удаления программ и остаточных данных (например Revo Uninstaller Pro). Подробнее:

Windows 7/Vista:

  1. Пуск -> Панель управления -> Удалить программу
  2. Удаляете Manifest
  3. Находите неизвестные, свежеустановленные, подозрительные программы в списке.
  4. Нажимаете на кнопку "Удалить".

Windows 8/8.1:

  1. Уводите курсор в левый нижний угол экрана -> Кликайте правой кнопкой -> Программы и компоненты
  2. Находите неизвестные, свеже-установленные, подозрительные программы в списке.
  3. Нажимаете на кнопку "Удалить".

Windows 10:

  1. Кликайте правой кнопкой на Пуск -> Программы и компоненты
  2. Удаляете Manifest
  3. Находите неизвестные, свежеустановленные, подозрительные программы в списке.
  4. Нажимаете на кнопку "Удалить".

Windows XP:

  1. Пуск -> Панель управления -> Установка/Удаление программ
  2. Удаляете Manifest
  3. Находите неизвестные, свежеустановленные, подозрительные программы в списке.
  4. Нажимаете на кнопку "Удалить".

Шаг 2. Очищаем браузеры от нежелательных дополнений.

Для Google Chrome:

  1. Вбиваем в строку браузера chrome://extensions/
  2. Находите подозрительное (неизвестное) дополнение. Можно и все что там есть удалить.
  3. Нажимаете на иконку корзины рядом с этим дополнением.

Для Mozilla Firefox:

  1. Firefox -> Дополнения -> Расширения
  2. Находим подозрительное расширение.
  3. Нажимаете на кнопку "Удалить" рядом с этим расширением

Для Internet Explorer:

  1. Нажимаете на шестеренку в правом верхнем углу и выбираете в меню: Настроить надстройки
  2. Перейдите в Панели инструментов и расширения > находите подозрительное расширение.
  3. Нажимаете на кнопку "Выключить" рядом с этим расширением

Для Safari:

  1. Safari > Настройки выбираете в меню: Расширения
  2. Находите подозрительное расширение.
  3. Нажимаете на кнопку "Удалить" под этим расширением

Шаг 3. Очищаем настройки браузеров.

Здесь я обычно сначала даю инструкции по ручному сбросу настроек для каждого браузера. Но сегодня просто расскажу про 2 бесплатные утилиты. Первая это Аваст Очистка Браузера.



Вот собственно и все. Если есть проблемы и комментарии - пишите в комментариях, разберем и ответим.

Файл был разработан Microsoft для использования с программным обеспечением Windows. Здесь вы найдете подробную информацию о файле и инструкции, как действовать в случае ошибок, связанных с MXDW-manifest.ini на вашем устройстве. Вы также можете скачать файл MXDW-manifest.ini, совместимый с устройствами Windows 10, Windows 8, Windows 8.1, которые (скорее всего) позволят решить проблему.

For Windows

Совместим с: Windows 10, Windows 8, Windows 8.1

Исправьте ошибки MXDW-manifest.ini

Информация о файле

Основная информация
Имя файла MXDW-manifest.ini
Расширение файла INI
Тип Settings
Описание Windows Initialization
Программного обеспечения
программа Windows 10
Программного обеспечения Windows
автор Microsoft
Версия программного обеспечения 10
подробности
Размер файла 353
Самый старый файл 2012-06-02
Последний файл 2017-03-18

MXDW-manifest.ini

Наиболее распространенные проблемы с файлом MXDW-manifest.ini

  • MXDW-manifest.ini поврежден
  • MXDW-manifest.ini не может быть расположен
  • Ошибка выполнения - MXDW-manifest.ini
  • Ошибка файла MXDW-manifest.ini
  • Файл MXDW-manifest.ini не может быть загружен. Модуль не найден
  • невозможно зарегистрировать файл MXDW-manifest.ini
  • Файл MXDW-manifest.ini не может быть загружен
  • Файл MXDW-manifest.ini не существует

MXDW-manifest.ini

Не удалось запустить приложение, так как отсутствует файл MXDW-manifest.ini. Переустановите приложение, чтобы решить проблему.

Проблемы, связанные с MXDW-manifest.ini, могут решаться различными способами. Некоторые методы предназначены только для опытных пользователей. Если вы не уверены в своих силах, мы советуем обратиться к специалисту. К исправлению ошибок в файле MXDW-manifest.ini следует подходить с особой осторожностью, поскольку любые ошибки могут привести к нестабильной или некорректно работающей системе. Если у вас есть необходимые навыки, пожалуйста, продолжайте.

Помните, прежде чем предпринимать какие-либо действия, связанные с системными файлами, сделайте резервную копию ваших данных!

Шаг 1.. Сканирование компьютера на наличие вредоносных программ.

Virus Scan

Файлы Windows обычно подвергаются атаке со стороны вредоносного программного обеспечения, которое не позволяет им работать должным образом. Первым шагом в решении проблем с файлом MXDW-manifest.ini или любыми другими системными файлами Windows должно быть сканирование системы на наличие вредоносных программ с использованием антивирусного инструмента.

Если по какой-либо причине в вашей системе еще не установлено антивирусное программное обеспечение, вы должны сделать это немедленно. Незащищенная система не только является источником ошибок в файлах, но, что более важно, делает вашу систему уязвимой для многих опасностей. Если вы не знаете, какой антивирусный инструмент выбрать, обратитесь к этой статье Википедии - сравнение антивирусного программного обеспечения.

Файлы Windows Initialization, такие как EP0LXPM-manifest.ini, используют расширение INI. Файл считается файлом Параметры (Windows Initialization) и впервые был создан компанией Microsoft для пакета ПО Windows 10.

Файл EP0LXPM-manifest.ini впервые был выпущен для ОС Windows 8 08/01/2012 с Windows 8. 07/29/2015 вышла версия 10 для Windows 10. Файл EP0LXPM-manifest.ini включен в Windows 10, Windows 8.1 и Windows 8.




Совместимость с Windows 10, 8, 7, Vista, XP и 2000

Средняя оценка пользователей

Сведения о разработчике и ПО
Программа: Windows 10
Разработчик: Microsoft
Программное обеспечение: Windows
Версия ПО: 10
Сведения о файле
Размер файла (байты): 580
Дата первоначального файла: 06/02/2012
Дата последнего файла: 03/18/2017
Информация о файле Описание
Размер файла: 580 bytes
Дата и время изменения файла: 2013:06:18 12:36:21+00:00
Дата и время изменения индексного дескриптора файлов: 2017:11:05 07:04:29+00:00
Ошибка: Unknown file type

✻ Фрагменты данных файлов предоставлены участником Exiftool (Phil Harvey) и распространяются под лицензией Perl Artistic.

Общие ошибки выполнения EP0LXPM-manifest.ini

Ошибки файла EP0LXPM-manifest.ini часто возникают на этапе запуска Windows, но также могут возникать во время работы программы. Эти типы ошибок INI также известны как «ошибки выполнения», поскольку они возникают во время выполнения Windows. К числу наиболее распространенных ошибок выполнения EP0LXPM-manifest.ini относятся:

  • Не удается найти EP0LXPM-manifest.ini.
  • EP0LXPM-manifest.ini — ошибка.
  • Не удалось загрузить EP0LXPM-manifest.ini.
  • Ошибка при загрузке EP0LXPM-manifest.ini.
  • Не удалось зарегистрировать EP0LXPM-manifest.ini / Не удается зарегистрировать EP0LXPM-manifest.ini.
  • Ошибка выполнения — EP0LXPM-manifest.ini.
  • Файл EP0LXPM-manifest.ini отсутствует или поврежден.

Программа: C:\Windows\System32\DriverStore\FileRepository\prnepcl2.inf_x86_8558dbe0416919db\EP0LXPM-manifest.ini

Среда выполнения получила запрос от этого приложения, чтобы прекратить его необычным способом.
Для получения дополнительной информации обратитесь в службу поддержки приложения.

В большинстве случаев причинами ошибок в INI являются отсутствующие или поврежденные файлы. Файл EP0LXPM-manifest.ini может отсутствовать из-за случайного удаления, быть удаленным другой программой как общий файл (общий с Windows) или быть удаленным в результате заражения вредоносным программным обеспечением. Кроме того, повреждение файла EP0LXPM-manifest.ini может быть вызвано отключением питания при загрузке Windows, сбоем системы при загрузке или сохранении EP0LXPM-manifest.ini, наличием плохих секторов на запоминающем устройстве (обычно это основной жесткий диск) или заражением вредоносным программным обеспечением. Таким образом, крайне важно, чтобы антивирус постоянно поддерживался в актуальном состоянии и регулярно проводил сканирование системы.

Шаг 1. Восстановите компьютер до последней точки восстановления, «моментального снимка» или образа резервной копии, которые предшествуют появлению ошибки.

Чтобы начать восстановление системы (Windows XP, Vista, 7, 8 и 10):

Если на этапе 1 не удается устранить ошибку EP0LXPM-manifest.ini, перейдите к шагу 2 ниже.


Шаг 2. Запустите средство проверки системных файлов (System File Checker), чтобы восстановить поврежденный или отсутствующий файл EP0LXPM-manifest.ini.

Средство проверки системных файлов (System File Checker) — это утилита, входящая в состав каждой версии Windows, которая позволяет искать и восстанавливать поврежденные системные файлы. Воспользуйтесь средством SFC для исправления отсутствующих или поврежденных файлов EP0LXPM-manifest.ini (Windows XP, Vista, 7, 8 и 10):

Следует понимать, что это сканирование может занять некоторое время, поэтому необходимо терпеливо отнестись к процессу его выполнения.

Если на этапе 2 также не удается устранить ошибку EP0LXPM-manifest.ini, перейдите к шагу 3 ниже.

Шаг 3. Выполните обновление Windows.


Если ни один из предыдущих трех шагов по устранению неполадок не разрешил проблему, можно попробовать более агрессивный подход (примечание: не рекомендуется пользователям ПК начального уровня), загрузив и заменив соответствующую версию файла EP0LXPM-manifest.ini. Мы храним полную базу данных файлов EP0LXPM-manifest.ini со 100%-ной гарантией отсутствия вредоносного программного обеспечения для любой применимой версии Windows . Чтобы загрузить и правильно заменить файл, выполните следующие действия:

Windows 10: C:\Windows\System32\DriverStore\FileRepository\prnepcl2.inf_x86_8558dbe0416919db\
Windows 8.1: C:\Windows\System32\DriverStore\FileRepository\prnepcl2.inf_x86_dfd458ee21b28146\
Windows 8: C:\Windows\System32\DriverStore\FileRepository\prnepcl2.inf_x86_8f2711061c2c3105\

Если этот последний шаг оказался безрезультативным и ошибка по-прежнему не устранена, единственно возможным вариантом остается выполнение чистой установки Windows 10.

Читайте также: