Ich habe versucht, einige Win32 Sachen in C# 3.5 zu tun, um erhöhte Benutzerrechte für eine Konsole app zu erhalten. Ich entwickle auf Visual Studio 2008 SP1/GDR und Dinge funktionieren gut, wenn unter dem Debugger ausgeführt. Die Dinge funktionieren auch gut, wenn ich die Konsolenanwendung eigenständig ausführe. Die Dinge laufen auch gut, wenn ich alles in ein MSI-Paket packe und es auf einem 2003-Server installiere und die Konsolenanwendung ausführe.
Wenn ich dieselbe MSI auf einem 2008-Server mit aktivierter UAC installiere und dann die Konsolenanwendung ausführe, erhalte ich Meldungen wie diese:
Unable to set right for the account "DOMAIN\QAUSER": SeCreateGlobalPrivilege
System.UnauthorizedAccessException Attempted to perform an unauthorized operation.
Ich kann nicht erwarten, dass meine Deployment-/Server-Administratoren irgendetwas anderes mit meiner Anwendung tun, als sie zu installieren, und sie werden die UAC nicht deaktivieren. Es muss einen programmatischen Weg geben, um die Benutzerrechte richtig einzustellen, den ich der Konsolenanwendung hinzufügen kann - weiß jemand wie?
Danke.