2009-09-18 4 views
3

У меня есть некоторые EXE, для которых у меня нет кода. Могу ли я добавить файлы манифеста?Могу ли я добавить файл манифеста в чужой exe?

Кроме того, согласно моему пониманию этой темы, для программы, чтобы быть совместимым Vista, он не должен писать в любых защищенных местах, как HKLM, Program Files и т.д.

для реестра можно использовать HKCU, но о файлы, которые создаются в Program Files? должны ли они создаваться в незащищенном месте во время выполнения EXE?

Благодаря

+0

Вам не нужно сообщать людям, что вы исправили в сообщении. – GManNickG

+0

Я пытался указать, что он должен говорить более правильно. – SLaks

ответ

0

Вы должны быть в состоянии создать файл манифеста без исходного кода.

Это нормально, чтобы требовать административных прав на установку или обновление, поэтому вы можете поместить EXE и DLL (и поддерживающие файлы) в Program Files.

Неправильно использовать административные привилегии для регулярного использования, поэтому вы должны поместить файлы данных и настройки в реестр в HKCU или в папку данных приложения пользователя.

+0

Есть ли какие-либо окна api, чтобы напрямую получить путь к папке данных приложений? – coolcake

+1

Извините, забыли поблагодарить вас. Так что спасибо тебе!!! – coolcake

+0

Папка данных ваших приложений должна быть создана самостоятельно в разделе% appData% – MSalters

5

Вы можете добавить манифест, используя внешний файл. Просто поместите манифест в папку с exe и назовите его «file.exe.manifset», где file.exe - это имя исполняемого файла. Однако на сервере 2003, Vista и позже, если программа имеет встроенный манифест, внешний манифест будет проигнорирован по умолчанию. Существует раздел реестра, который переопределит это поведение, или вы можете использовать mt.exe из инструмента SDK Windows, чтобы заменить манифест в exe. См. this link для более подробной информации.

Для существующих приложений, которые пытаются записать в Program Files или HKLM, они должны работать на Vista, поскольку Vista перенаправляет записи в другое место и делает приложение, которое написано, было выполнено.

Смежные вопросы