有些程序需要管理员权限需要运行,同时又想用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();
}

最新文章

  1. 自己写jquery插件之模版插件高级篇(一)
  2. 关于链接到QQ客服的问题,原来只需要在a标签上加一串话而已呐~~~~
  3. Java是目前最广泛的_______编程语言
  4. 树莓派 HC-SRO4超声波测距模块的使用
  5. 打个酱油,欢迎指正FizzBuzzWhizz(c#)
  6. GLSL的qualifier
  7. memcached完全剖析系列——一、memcached基础
  8. GDB下查看内存命令(x命令)
  9. Android Capture Android System Audio
  10. 费用提前计算相关的DP(BZOJ2037,POJ3042,ZOJ3469)
  11. 概率dp-九度-1546-迷宫问题
  12. UVA 1344 Tian Ji -- The Horse Racing
  13. Tengine笔记3:Nginx的反向代理和健康状态检查
  14. 搭建一个web服务下载HDFS的文件
  15. Mybatis之延迟加载机制
  16. Python数据分析实例操作
  17. mongodb--Profiling慢查询详解
  18. PAT 1011 A+B和C (15)(C++&JAVA&Python)
  19. Linux学习14-ab报错apr_pollset_poll: The timeout specified has expired (70007)
  20. windows 静态IP设置举例

热门文章

  1. Practical Node.js (2018版) 第3章:测试/Mocha.js, Chai.js, Expect.js
  2. inflate()引发NullPointerException
  3. Confluence 6 文档主题合并问答
  4. 对偶图 并查集 BZOJ4423
  5. stl中常用的排序算法
  6. 函数模版和主函数分别在.h .cpp中(要包含.cpp)
  7. python-爬虫-Beautifulsoup模块
  8. PAT 1015 Reversible Primes
  9. 【LeetCode】矩阵操作
  10. Const的使用