我试图在 C# 3.5 中做一些 Win32 的东西来为控制台应用程序获得提升的用户权限。我在 Visual Studio 2008 SP1/GDR 上开发,在调试器下运行时一切正常。当我单独运行控制台应用程序时,事情也很好。当我将所有内容打包到 MSI 中并将其安装在 2003 服务器上并运行控制台应用程序时,事情也运行良好。
如果我采用相同的 MSI 并将其安装在启用了 UAC 的 2008 服务器上,然后运行控制台应用程序,我会收到如下消息:
Unable to set right for the account "DOMAIN\QAUSER": SeCreateGlobalPrivilege
System.UnauthorizedAccessException Attempted to perform an unauthorized operation.
我不能指望我的部署/服务器管理员除了安装它之外对我的应用程序做任何事情,而且他们不会关闭 UAC。必须有一些编程方式来正确设置我可以添加到控制台应用程序的用户权限 - 任何人都知道如何?
谢谢。