推出C#的exe不会对Windows 7的UAC提示(launch C# exe without p

2019-09-22 20:33发布

我有我想要在Windows 7推出没有对话框询问运行作为管理员C#可执行文件。所以这是我的一个启动名为testApp.exe的C#可执行程序代码内。

Process testApp = new Process();
testApp.StartInfo.FileName = "C:\\Program Files\\Common Files\\testApp.exe";
testApp.Start();

我还创建minfest这两个程序。 app.manifest为testApp.exe和app.manifest为启动testApp.exe,然后我更改以下行两个舱单程序:

requestedExecutionLevel水平= “requireAdministrator” uiAccess = “假”

当我双击了testApp.exe运行它,testApp.exe程序崩溃,但是当我运行它作为管理员,它工作正常,没有崩溃。 因此,这也behavoir发生同样的当我运行启动testApp.exe程序,testApp.exe崩溃。

我必须错在这里做一些事情。 我是否需要更改舱单的名字,因为我使用由Visual Studio 2010中生成的默认名称。

谢谢。

Answer 1:

其实你应该只使用

requestedExecutionLevel水平= “requireAdministrator” uiAccess = “假”

只有当你想以管理员身份运行。

此更改为:

requestedExecutionLevel水平= “asInvoker” uiAccess = “假”

你会好到哪里去。



Answer 2:

使用info.Verb = “运行方式”; //提供以管理员身份运行



Answer 3:

我50美分,

而不是增加requestedExecutionLevel level="asInvoker" uiAccess="false"清单中,您可以使用任务调度运行在最高级别的几乎所有的东西(管理员模式)

来源: http://www.liberalcode.com/2014/01/automating-run-as-administrator-from-c.html

虽然有关远程运行它上面的帖子会谈,但你可以很容易地改变它在本地运行。



文章来源: launch C# exe without prompting UAC on Windows 7
标签: c# windows-7 uac