Я попытался сделать кое-что из Win32 в C # 3.5, чтобы получить повышенные права пользователя для консольного приложения. Я разрабатываю на Visual Studio 2008 SP1 / GDR, и все работает нормально при запуске под отладчиком. Все также работает нормально, когда я запускаю консольное приложение автономно. Все также работает нормально, когда я упаковываю все в MSI, устанавливаю его на сервер 2003 и запускаю консольное приложение.
Если я возьму тот же MSI и установлю его на сервер 2008 с включенным контролем учетных записей, затем запусту консольное приложение, я получу сообщения, подобные этому:
Unable to set right for the account "DOMAIN\QAUSER": SeCreateGlobalPrivilege
System.UnauthorizedAccessException Attempted to perform an unauthorized operation.
Я не могу ожидать, что мои администраторы развертывания / сервера будут что-либо делать с моим приложением, кроме как установить его, и они не собираются отключать UAC. Должен быть какой-то программный способ правильно установить права пользователя, который я могу добавить в консольное приложение - кто-нибудь знает, как?
Спасибо.