программы Delphi 2010 способны работать с UAC Vista / Win7 по умолчанию - PullRequest
8 голосов
/ 05 августа 2010

если вы компилируете программу в D2010, автоматически создается файл манифеста .res.это включено в вашу программу по умолчанию?или вы должны включить это сами? если да, какой уровень привилегий вам дан?моя программа изменяет ключ реестра, будет ли это возможно без каких-либо изменений в файле .res? если нет, какие изменения мне нужно сделать?
дополнительный вопрос : есть ли компонент / эксперт?(предпочтительно бесплатно), который может генерировать / включать файл .res в моих проектах delphi 7 и delphi 2007 автоматически, как и delphi 2010?
edit : забыл упомянуть, что у меня нет win7 или Vista, и якогда-либо использовал их
edit2 : я включил файл манифеста на всякий случай после этого урока , но в уроке говорится только о Windows Vista, а не о 7 .xml (манифесте)файл в этом уроке сделает мое приложение способным работать с win7 UAC тоже
edit3 , если я включу свой собственный файл манифеста, и delphi также включает его по умолчанию, который создаст 2 файла манифеста (1 с администратором)Превалирует, а 2-е - нет). Это может вызвать проблемы / непредсказуемое поведение

1 Ответ

8 голосов
/ 05 августа 2010

Манифест, сгенерированный delphi, дает вашему процессу самые низкие привилегии (кстати, по умолчанию).

Вы должны изменить файл манифеста, чтобы он стал ASK для разрешения на запуск с правами администратора (Called elevation).

Ваше приложение со стандартными привилегиями должно читать / писать в HKEY_CURRENT_USER без повышения прав.

Для доступа к %programfiles% и HKEY_LOCAL_MACHINE требуется повышение прав. (Не уверен насчет других кустов реестра)

Это PDF-файл, который поможет вам многое с тем, что вы делаете.

http://pascalfonteneau.developpez.com/articles/delphi/vista/uac/VistaUACandDelphi.pdf

...