windowsshell manifest что это
Windowsshell manifest что это
Сообщения: 3320
Благодарности: 916
Котяра, может всё же находясь в теме Какое из обновлений на Win XP SP2 портит или заменяет Visual C++ библиотеки интерес к сабжу пришёл?
Drongo абсолютно верно, даже без Offа. Только Виндовс сам эти файлы ассоциирует с программами написанными ранее для обратной совместимости с тем софтом который без манифестов писался. На каком этапи (после которого SPака) они там находятся сказать не могу, но то что в ХР RTM/Gold их там не было это точно.
Вот материал по сабжу Стильные Окна. Он не ответит какого файла там делают, но даст справку по их назначению в принципе.
Для эксперимента переместить в другую папку и посмотреть, в каких местах интерфейса пропадет красота и/или появится глюк ) » |
Если с первым еще кое-как можно, то со вторым лучше не шутить. Ибо он судя по названию используется winlogon.exe и можно вообще не войти в Windows. на virtualpc можно на реальном пк нельзя. |
Windowsshell manifest что это
Сообщения: 3320
Благодарности: 916
Котяра, может всё же находясь в теме Какое из обновлений на Win XP SP2 портит или заменяет Visual C++ библиотеки интерес к сабжу пришёл?
Drongo абсолютно верно, даже без Offа. Только Виндовс сам эти файлы ассоциирует с программами написанными ранее для обратной совместимости с тем софтом который без манифестов писался. На каком этапи (после которого SPака) они там находятся сказать не могу, но то что в ХР RTM/Gold их там не было это точно.
Вот материал по сабжу Стильные Окна. Он не ответит какого файла там делают, но даст справку по их назначению в принципе.
Для эксперимента переместить в другую папку и посмотреть, в каких местах интерфейса пропадет красота и/или появится глюк ) » |
Если с первым еще кое-как можно, то со вторым лучше не шутить. Ибо он судя по названию используется winlogon.exe и можно вообще не войти в Windows. на virtualpc можно на реальном пк нельзя. |
Зачем Win32-приложению манифест?
Недавно на руборде в разделе Программирование был задан вопрос: «Зачем Win32-приложению манифест? На что он влияет?». Первое, что сразу приходит в голову большинству программистов — это темы оформления. Но на самом деле в современных виндах манифест нужен не только для этого. Я подумал и написал пять ключевых аспектов, на которые влияет манифест или его отсутствие. После этого сразу несколько человек попросили оформить этот пост в виде более развернутой статьи.
Для начала предлагаю вспомнить, как вообще в Windows появились манифесты, и как они развивались.
История манифеста
В древние времена в мире Win95/98 царил ад, точнее DLL hell. Возник он из-за того, что Windows задумывалась как идеальная система. Все приложения в ней всегда должны были писаться с использованием самых свежих версий системных библиотек. А различные версии самих библиотек должны были быть взаимозаменяемыми. Реальность быстро доказала всем, что для популярной операционки это несбыточная мечта, так и возник ад. Каждое второе приложение во время инсталляции перезаписывало системные библиотеки нужными ему версиями. В результате после установки приложения X установленное ранее приложение Y начинало глючить. А после переустановки приложения Y глючить начинало приложение X. В общем юзерам жилось весело.
Всем был хорош SxS кроме одного — он был ужасно неудобен для программиста. В 99% случаев манифест применялся только для включения тех самых тем оформления, и ни для чего больше. Разработчикам винды стало ясно, что нужен новый, более простой в использовании способ указать поддерживаемые версии системных библиотек. Тогда они придумали простое правило: в пределах одной версии системы интерфейс и поведение этих библиотек не изменяется. Нужно было только каким то образом научится определять какая их версия требуется конкретному приложению. Так в Windows 7 в манифесте появилась секция Compatibility, где можно указать с какими версиями ОС тестировалось приложение.
Также в манифесте начиная с Windows Vista появилось еще несколько секций, обо всех о них ниже.
Функции манифеста
Справа тоже самое приложение без манифеста:
Запрос разрешения пользователя:
Виртуализация файловой системы в деле:
Разработчики Висты не стерпели подобного безобразия, и заложили в DWM возможность производить масштабирование самостоятельно, а приложениям врать, что DPI по прежнему равен 96. Причем зависящие от него системные настройки, разрешение монитора и даже положение мыши, также пересчитываются. К сожалению разработчики Висты небыли волшебниками, поэтому масштабирование DWM производит с помощью простых алгоритмов растягивания изображений. И если интерфейс приложения нужно увеличить, то происходит замыливание картинки. Представьте что было бы, если бы разработчики Фотошопа не могли это отключить. Таких бунтов на корабле никто не хотел, поэтому появилась возможность указать в манифесте, что ваше приложение таки умеет нормально масштабировать свой интерфейс, и помощь DWM ему не нужна. За это отвечает параметр dpiAware. Тут правда следует отметить, что по умолчанию масштабирование силами DWM включается при увеличении 150% и выше. Видимо в Microsoft посчитали, что при масштабировании 125% артефакты как на скриншоте выше вполне терпимы.
Слева масштабирование силами DWM, а справа — самого приложения:
В Windows 8.1 появилась возможность указывать разный масштаб разным мониторам, если подключено сразу несколько. Соответственно у ключа dpiAware появилось новое значение «True/PM». Оно означает, что приложение умеет динамически изменять масштаб своего интерфейса при переносе окон с одного монитора на другой.
Наиболее интересен вопрос: «На что влияют эти GUID-ы?» Пока что список различий в поведении системных библиотек невелик. Наиболее интересно упоминание об оптимизации RPC. Получается что приложения, задекларировавшие совместимость с семеркой, будут работать быстрее.
В будущем этот раздел манифеста наверняка будет играть большую роль чем сейчас. Ведь в винде полно разных хаков призванных обеспечивать совместимость. И теперь есть возможность оградить от них нормальные приложения.
Если GUID-ы полностью отсутствуют в манифесте, то к приложению применяются правила как к совместимому с Вистой:
Windowsshell manifest что это
Сообщения: 3320
Благодарности: 916
Котяра, может всё же находясь в теме Какое из обновлений на Win XP SP2 портит или заменяет Visual C++ библиотеки интерес к сабжу пришёл?
Drongo абсолютно верно, даже без Offа. Только Виндовс сам эти файлы ассоциирует с программами написанными ранее для обратной совместимости с тем софтом который без манифестов писался. На каком этапи (после которого SPака) они там находятся сказать не могу, но то что в ХР RTM/Gold их там не было это точно.
Вот материал по сабжу Стильные Окна. Он не ответит какого файла там делают, но даст справку по их назначению в принципе.
Для эксперимента переместить в другую папку и посмотреть, в каких местах интерфейса пропадет красота и/или появится глюк ) » |
Если с первым еще кое-как можно, то со вторым лучше не шутить. Ибо он судя по названию используется winlogon.exe и можно вообще не войти в Windows. на virtualpc можно на реальном пк нельзя. |
Windowsshell manifest что это
Сообщения: 3320
Благодарности: 916
Котяра, может всё же находясь в теме Какое из обновлений на Win XP SP2 портит или заменяет Visual C++ библиотеки интерес к сабжу пришёл?
Drongo абсолютно верно, даже без Offа. Только Виндовс сам эти файлы ассоциирует с программами написанными ранее для обратной совместимости с тем софтом который без манифестов писался. На каком этапи (после которого SPака) они там находятся сказать не могу, но то что в ХР RTM/Gold их там не было это точно.
Вот материал по сабжу Стильные Окна. Он не ответит какого файла там делают, но даст справку по их назначению в принципе.
Для эксперимента переместить в другую папку и посмотреть, в каких местах интерфейса пропадет красота и/или появится глюк ) » |
Если с первым еще кое-как можно, то со вторым лучше не шутить. Ибо он судя по названию используется winlogon.exe и можно вообще не войти в Windows. на virtualpc можно на реальном пк нельзя. |
- Windowsseguiemj tt2 что это
- windowstask appmodule exe что это