我试图做在C#3.5的一些东西的Win32得到提升的用户权限的控制台应用程序。我上的Visual Studio 2008 SP1 / GDR和东西做工精细开发时,调试器下运行。事情也做工精细,当我运行控制台应用程序的独立。当我一切都打包成一个MSI和2003年的服务器上安装并运行控制台应用程序的事情也运行正常。

如果我采取相同的MSI和2008服务器启用UAC上安装它,然后运行控制台应用程序,我得到的消息是这样的:

Unable to set right for the account "DOMAIN\QAUSER": SeCreateGlobalPrivilege
System.UnauthorizedAccessException    Attempted to perform an unauthorized operation.

我不希望我的部署/服务器管理员比安装其他的我的应用程序做任何事情,他们不会关闭UAC。必须有一些编程的方式来正确设置用户权限,我可以添加到控制台应用程序 - ?任何人都知道如何

感谢。

其他提示

我认为UAC是2008年的计算机上启用,我还不能在你的问题找出来。

如果这样,确保在VS您app.manifest文件(下属性),变化

<requestedExecutionLevel  level="asInvoker" uiAccess="false" />

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

即使代码以管理员身份运行,必须由UAC警告就搞定了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top