Принудительно запустить программу как неадминистратор в Vista

Я только что установил в Vista 32-разрядную программу, которая, по моему мнению, не должна требовать прав администратора. Он не установлен в системный каталог, и его назначение не должно требовать каких-либо особых привилегий. Тем не менее,.exe имеет щит UAC, и он просит меня повысить привилегии сразу после выполнения.

Я готов рисковать, делая неприятные вещи с привилегиями моей учетной записи, но не готов рисковать. Могу ли я что-то сделать, кроме как настроить для нее виртуальную машину (или загрузить исходный код и скомпилировать его самостоятельно)?

(FWIW, рассматриваемая программа - Карандаш --cil.evolus.vn/en-US/Downloads/Application.aspx - но я больше интересуюсь общими ответами, чем специфичными для приложения).

2 ответа

Решение

Взять из ответа на аналогичный вопрос:

Для всех приложений с requestedPrivilegeLevel="highestLevel" в их манифесте вы можете использовать Microsoft Application Compatibility Toolkit, чтобы закрепить приложение с помощью исправления RunAsInvoker, которое заставляет приложение работать с вашими стандартными пользовательскими токенами.

Для получения дополнительной информации о том, как использовать Application Compatibility Toolkit ...(фрагмент)... общие инструкции.

Для этой конкретной программы вы можете обойти требование UAC:

Вместо обычного запуска Pencil, создайте ярлык для evolus\pencil\xulrunner.exe, а затем добавить --app ..\app\application.ini до конца, так что короткий путь:

  • "C:\Program Files (x86)\Evolus\Pencil\xulrunner\xulrunner.exe" --app ..\app\application.ini

Это позволит вам запускать Карандаш без UAC.

Источник: http://code.google.com/p/evoluspencil/issues/detail?id=275

Другие вопросы по тегам