http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

楼主: 站长苏飞

[Winform] C#Winform程序如何发布并自动升级(图解)

  [复制链接]
发表于 2013-3-27 17:23:46 | 显示全部楼层
站长苏飞 发表于 2013-3-27 17:19
NO这个没吧,毕竟是封装的,能修改的不太多,这软件 安装是不需要管理员权限吧,我记是我们之前的是不需要 ...

嗯,安装的时候不需要,需要的话msi也会自动申请的。
从网上招的资料上看,若想自己的软件(安装完成后)要能以管理员方式运行,只需要把app.manifest中的
  1. <requestedExecutionLevel level="AsInvoke" uiAccess="false" />
复制代码
改为:
  1. <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
复制代码
即可。
但是我修改完成后,发布的时候就会报错,说OnceClick不支持requireAdministrator。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-3-27 18:48:50 | 显示全部楼层
  1. <requestedExecutionLevel level="asInvoker" uiAccess="false" />
复制代码
这样OnceClick可以通过,但是不能在双击打开软件的时候,通知用户使用管理员权限。
 楼主| 发表于 2013-3-27 18:53:04 | 显示全部楼层
  1. C# 编程中可以使程序自动使用管理员身份运行,也就是我们常常看到一些程序的图标上会冒出个盾牌。

  2. 方法:

  3. 在源码的Properties目录中找到 app.manifest,

  4. 将其中level="asInvoker" 改成 level="requireAdministrator"就可以了,

  5. 如果没有app.manifest文件可以打开项目属性,找到安全性项,勾上启用 ClickOnce 安全设置,这时会生成app.manifest文件,

  6. 然后再把勾去掉,不要选上。

  7. 这样你重新编译,你的程序图标上就会出现个小盾牌了,就自动以管理员身份运行你的程序,无需右键打开。
复制代码
你应该是使用的上面的方法吧,有没有注意这一步
然后再把勾去掉,不要选上。
这里有没有设置
 楼主| 发表于 2013-3-27 18:56:50 | 显示全部楼层
我测试过了你再次把“ClickOnce 安全设置”的勾去掉,不要选上就行了
发表于 2013-3-27 18:57:26 | 显示全部楼层
站长苏飞 发表于 2013-3-27 18:53
你应该是使用的上面的方法吧,有没有注意这一步
然后再把勾去掉,不要选上。
这里有没有设置

ClickOnce没选上也不行的(ClickOnce我一直记成OnceClick了),因为使用发布这个方法,其升级方案就是采用ClickOnce的,也就是说,如果采用发布来做,OnceClick一定会被选上的。
测试的时候,“requireAdministrator”要改啊
 楼主| 发表于 2013-3-27 19:01:29 | 显示全部楼层
守望幸福 发表于 2013-3-27 18:57
ClickOnce没选上也不行的(ClickOnce我一直记成OnceClick了),因为使用发布这个方法,其升级方案就是采用C ...

你不选择也可以的啊,你试试
发表于 2013-3-27 19:06:09 | 显示全部楼层
站长苏飞 发表于 2013-3-27 19:01
你不选择也可以的啊,你试试

测试过了。步骤是这样的:
1)选中ClickOnce
2)去掉ClickOnce
3)修改app.manifest里面节点为requireAdministrator
4)发布
5)报错:错误        1        ClickOnce 不支持请求执行级别“requireAdministrator”。
6)打开属性--安全项--看到CLickOnce又被选中了
7)重复步骤2到步骤6
 楼主| 发表于 2013-3-27 19:26:03 | 显示全部楼层
守望幸福 发表于 2013-3-27 19:06
测试过了。步骤是这样的:
1)选中ClickOnce
2)去掉ClickOnce

你再加上这一步就行了
QQ截图20130327192333.png
把这个取消就行了
发表于 2013-3-28 22:05:01 | 显示全部楼层
守望幸福 发表于 2013-3-27 16:34
我的程序要求必须管理员权限的,所以app.manifest文件中

而OnceClick不支持,这该怎么办?

关于这个问题,看看这篇对你有没有帮助:
C#编写软件实现在Vista、Win7下“以管理员身份运行”验证过程
http://hi.baidu.com/adminsiter/item/726fb39915f8f838336eebe4
发表于 2013-4-1 12:02:36 | 显示全部楼层
xjwebs 发表于 2013-3-28 22:05
关于这个问题,看看这篇对你有没有帮助:
C#编写软件实现在Vista、Win7下“以管理员身份运行”验证过程
...

童鞋,没有一点帮助。
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-11-16 08:34

© 2014-2021

快速回复 返回顶部 返回列表