Можно ли узнать, какие разрешения требуются установщику приложения во время его работы? Я думаю что-то вроде отладчика или монитора, чтобы увидеть, что окна проверяют.
Ситуация такова, что у нас есть приложение для Windows собственной разработки, которое регулярно обновляется, и пользователи всегда работают под локальными учетными записями администратора, поэтому это обновление работает. Я считаю, что это слишком много, и я хотел бы предоставить только необходимые разрешения для правильной работы этого установщика.
Возможно, мне не удастся изменить поведение установщика или даже непосредственно проверить шаги, которые он предпринимает.
Можно ли точно увидеть, в каких окнах разрешений останавливается этот установщик?
Я смог определить, что установщику требуется доступ на запись к C:\Windows
и C:\Windows\System32
из-за определенных сообщений об ошибках, но после этого он останавливается на довольно общем «У вас нет доступа для внесения необходимых изменений в конфигурацию системы. Пожалуйста, перезапустите эту установку из учетной записи администратора».
Да, это называется Монитор процесса от SysInternals (теперь часть MS), и это находка.
Кроме того, попросите ваше руководство откупиться от этой идеи и пусть ваши разработчики / QA тестируют это дерьмо как обычные пользователи тестовых систем, чтобы они не заставляли вас работать над исправлением их ошибок.
Вместо того, чтобы выяснять идеальные разрешения, вы можете запустить процесс обновления, используя утилита "runas"
Хорошо, так что кроме идеи Process Monitor для поиска необходимых разрешений, или RunAs
чтобы предоставить административные разрешения, вы всегда можете запустить программу обновления в системном контексте, чтобы избежать всего беспорядка, не так ли?
Используйте сценарии запуска AD или параметры установки программного обеспечения, чтобы запустить средство обновления в контексте системы, или вместо настройки службы средства обновления для запуска в контексте пользователя измените ее на запуск как NTAUTHORITY\Local Serveice
или SYSTEM
. Также легко достигается с помощью GPO или сценария.