Не так глупо, как кажется;)
У меня есть стороннее приложение, для которого у меня нет источника. Официальная поддержка для XP и выше, но выше только с выключенным UAC. Чего я не хочу.
Теперь я знаю программистов, и они готовы внести изменения, если это не слишком много работы, и я могу сказать им, ЧТО нужно сделать.
Я знаю, что приложение, которое запускает несколько исполняемых файлов, не получает сетевого подключения, когда я запускаю его без повышенных привилегий, но, похоже, ни один открытый порт не находится в нижнем диапазоне (согласно netstat -b
Есть ли какие-либо рекомендации по выяснению, ПОЧЕМУ приложению требуются повышенные привилегии? Приложение критично для бизнеса - и в настоящее время это подрывает безопасность, поскольку пользователи должны быть локальными администраторами. Если у кого-то есть идея - как только я найду причину, я уверен, что смогу заставить поставщика внести изменения.
Согласно одному из комментариев, лучше всего, вероятно, будет использовать Process Monitor Sysinternals, чтобы увидеть, что пробуется и что не удается из-за UAC.
Загрузите Process Monitor из http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
Запустите монитор процессов, запустите устаревшее, плохо закодированное приложение, перейдите к монитору процессов> фильтр> if Process Name is <borkedapp> then Include
и if Result is Success then Exclude
что должно дать вам всего несколько тысяч записей для поиска неисправного бита.
В качестве альтернативы есть инструмент, указанный ниже (я не пробовал его), который поможет вам сравнить трассировки монитора процессов, чтобы вы могли взять трассировку, запущенную как стандартный пользователь, и другую, работающую с повышенными правами, и сравнить их.
http://forum.sysinternals.com/tool-for-comparing-procmon-traces_topic28870.html
t В дополнение к ответу Блю, существуют инструменты для переноса приложений на Windows 7. Даже если ваше приложение говорит, что оно совместимо с Windows 7, запуск его через этот звонок сообщит вам, что необходимо вашему приложению для правильной работы с включенным UAC. Вы даже можете создать «прокладку», которая изменяет определенные параметры при запуске вашего приложения. Я считаю, что этот инструмент называется Standard User Analyzer. http://technet.microsoft.com/en-us/library/cc766021(v=ws.10).aspx.
Я также добавлю, что во многих случаях повышенных привилегий можно избежать, предоставив соответствующие разрешения, то есть предоставив пользователю права на изменение папки и подпапок C: \ Program Files \.