WinService запускает тихий установщик с повышенными привилегиями
У нас есть WinService, установленный под учетной записью администратора.
Из WinService мы запускаем установщик InstallShield в автоматическом режиме.
Под какими привилегиями запускается установщик? Будет ли он выполняться с правами администратора (унаследованными от WinService) или будет работать с правами учетной записи зарегистрированного пользователя?
1 ответ
Если это MSI-проект InstallScript, созданный со старой версией InstallShield (что-то до InstallShield 12, например DevStudio 9 или InstallShield 11.5), обычно части механизма InstallScript предоставлялись в качестве службы и выполнялись как пользователь входа в систему. Эти части, как правило, были частями, которым требовалось повышение прав в Windows Vista (и технически это требовалось в XP, хотя пользователь Logon был, скорее, администратором), поэтому это было исправлено еще в InstallShield 12 (который включает InstallShield 2008 и выше).
Помимо этой аберрации, почти все, что вы запускаете, будет наследовать его контекст запуска. Если ваш сервис олицетворяет себя при запуске установки, он будет запущен как олицетворенный пользователь; в противном случае он будет запущен на том же уровне привилегий, что и служба.
Если вам нужно проверить это в интерактивном режиме во время работы процесса, взгляните на это с помощью такого инструмента, как Process Explorer.