Диагностика манифестов приложений Windows - PullRequest
5 голосов
/ 12 апреля 2009

Манифесты приложений Windows имеют очень свободную грамматику - нераспознанные части игнорируются. Как я могу диагностировать, какие части распознаются, а какие нет?

Проблема, приводящая к этому вопросу, связана с приложением, у которого есть параллельный манифест UAC с указанным requiredExecutionLevel из самое высокоеAvailable . Это должно отключить виртуализацию файлов Vista, но это не так. Я хочу выяснить, почему. Манифест используется, как я проверял, намеренно внося синтаксическую ошибку, но я не вижу способа определить, как он используется.

Ответы [ 4 ]

5 голосов
/ 17 апреля 2009

У меня была похожая проблема: диспетчер задач показал, что для запущенные приложения, несмотря на то, что приложения отображаются как наиболее доступные. Я попытался использовать mt.exe, чтобы манифестировать мои файлы. Это работало на некоторых, но не на других. Это странное поведение заставило меня думать, что в Vista был какой-то постоянный кеш, который влиял на информацию UAC, основанную на временной метке exe. Решением было использование мастера манифеста из Resource Tuner .

4 голосов
/ 04 января 2011

Кеш есть.

Кэш контекста активации SxS кэширует файлы .manifest.

Из того, что я читал, якобы только кешируется существование манифеста.

Он основан на памяти и очищается только при перезагрузке - ОДНАКО, я знаю, что на самом деле не всегда происходит очистка при перезагрузке, и многие другие также сообщают об этом. Я нашел c: \ windows \ sxs \ manifestCache и спросил, действительно ли он перезагружается оттуда при перезагрузке.

Единственный способ принудительно изменить дату изменения в .exe.

Также будьте внимательны при редактировании манифеста, если вы не повысите уровень редактора, он будет виртуализирован UAC - конечно, виртуализированная копия игнорируется загрузчиком.

Ссылка: http://blogs.msdn.com/b/junfeng/archive/2006/10/25/touch-the-exe-after-you-added-a-manifest-for-it-in-vista.aspx http://blogs.msdn.com/b/junfeng/archive/2007/10/01/vista-activation-context-cache.aspx

4 голосов
/ 19 апреля 2009

См. Мой комментарий к Wylder - вы пытались обновить временную метку исполняемого файла и манифеста?
Что запускает sxstrace из командной строки с повышенными правами?
Не могли бы вы опубликовать свой манифест где-нибудь?

0 голосов
/ 15 апреля 2009

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

...