码迷,mamicode.com
首页 > 其他好文 > 详细

ClickOnce 和管理员权限

时间:2017-09-19 17:56:27      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:运行   错误   .sh   去掉   art   ==   tab   prompt   identity   

有些程序需要管理员权限需要运行,同时又想用ClickOnce进行发布,这时候就麻烦了,两者是互斥的。

解决方案是,去掉管理员权限的要求,可以进行发布。

程序启动的时候,加载程序员权限的请求。

代码如下:

if (WindowsIdentity.GetCurrent().Owner == WindowsIdentity.GetCurrent().User) // Check for Admin privileges
{
try
{
this.Visible = false;
ProcessStartInfo info = new ProcessStartInfo(Application.ExecutablePath);
info.UseShellExecute = true;
info.Verb = "runas"; // invoke UAC prompt
Process.Start(info);
}
catch (Win32Exception ex)
{
if (ex.NativeErrorCode == 1223)
MessageBox.Show("该程序需要管理员权限,您必须选择“是”");
else
MessageBox.Show("程序发生错误,错误信息是:" + ex.Message);
}
Application.Exit();
}

ClickOnce 和管理员权限

标签:运行   错误   .sh   去掉   art   ==   tab   prompt   identity   

原文地址:http://www.cnblogs.com/catzhou/p/7552703.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!