2010-03-22 1 views
1

с помощью программы установки INNO я в настоящее время имею следующий элемент в разделе [ICONS]:Как создать ярлык для CMD.EXE, который запрашивает повышение с помощью INNO Setup?

Name: "{group}\My App\My App - Command Prompt"; Filename: "cmd.exe"; WorkingDir: "{app}" 

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

С помощью INNO Setup, как я могу создать ярлык для CMD.exe (в определенной папке), который требует повышения?

Выполнение этого для других приложений может быть выполнено с помощью файла манифеста. Мой вопрос: как я могу использовать его с помощью INNO, а если не могу, каковы мои альтернативы?

+0

Возможно, вы имели в виду администрацию справа? Вы можете установить это с помощью COM-объекта (CreateComObject (CLSID_ShellLink)). – Sasha

ответ

2

Административное свойство ярлыка - это параметр совместимости, вы не должны устанавливать его программно. Команды, которые пользователь запускает, должны запрашивать сами административные привилегии, имея соответствующий манифест. Пользователь также может выбрать повышение, щелкнув правой кнопкой мыши на ярлыке и выбрав «Запуск от имени администратора».

Если вы все равно хотите поднять немедленно, вы можете поместить небольшую утилиту в свою папку приложений, отмеченную административным манифестом. Вся эта утилита будет делать spawn cmd.exe. Таким образом, вы можете избежать использования настроек совместимости.

Если вы все еще хотите использовать настройки совместимости, посмотрите на HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Слои и HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers ключи реестра , Вы также можете использовать Inno Setup, встроенный в поддержку IUnknown, но это больше работает. См. Пример сценария CodeAutomation2.iss и http://social.msdn.microsoft.com/Forums/en-US/windowssecurity/thread/a55aa70e-ae4d-4bf6-b179-2e3df3668989

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