VS2005(C#)在win7下申请UAC权限方法(已验证)
2013-04-16 13:15
232 查看
VS2005(C#)在win7下申请UAC权限方法(已验证)
公司使用VS2005和C#开发一套程序,使用配置文件保存一些配置信息,如数据库连接信息,语言信息等,配置文件和主程序在同一个父目录下,并且程序运行时会输出日志在同目录下的日志目录里面的文本文件里.把程序打成安装包,在windowsXP里面一切正常,读取信息和日志输出都OK,考虑到客户也很多用win7,于是进行win7下的测试.默认安装在系统盘里面的程序目录,一测试就出问题了,读写的配置文件根本就不是程序目录下的配置文件(估计是保存在用户数据目录里面了),而更加不可思议的是,日志根本就不输出,意味根本就不知道是什么问题导致的,后来想到是权限问题,win7和vista里面都控制比较严格,于是就使用右键的"以管理员身份运行",程序终于是运行正常了.问题找出来了,那就要解决啊,想到要使程序已启动的时候就自己申请管理员权限,类似很多程序图标在win7下都会多一个盾牌标志,这些程序就会在运行的时候弹出帐户控制窗口来申请权限,在网上找了很久,都说是为项目加一个应用程序清单文件,就是app.manifest文件,可是这种方法,在VS2008下是正确的,在VS2005里面却死活不出来,网上还都说是这样.使人烦恼不已
为这个问题,搞了一天没结果.今天终于找到另一个不同的说法,app.manifest文件是需要添加修改的,但是还有一步骤要做,需要在项目的生成后
事件里面添加一些事件,依法试之,果然可以.因此特地记录下来,以免忘记.
以下内容来至http://blog.csdn.net/xue016013/article/details/6027484,先谢谢博主!
那在VS2005中如何设置manifest文件呢
1:首先在项目那新增一XML文件,名称为:你的程序名+".exe.manifest"
内容输入:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="你的程序名.exe" type="win32"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
保存。
2:在项目文件那右键,选择生成事件,在“生成后事件命令行”中输入(包括双引号):
"$(DevEnvDir)../../SDK/v2.0/bin/mt.exe" -manifest "$(ProjectDir)$(TargetName).exe.manifest" -outputresource:"$(TargetDir)$(TargetFileName)";#1
3:重新生成程序,如果你在Vista以上的操作系统,你就可以看见你程序的图标多了一个盾,
4:success.
相关文章推荐
- vs2005 ,2008,2010中引入app.manifest(即c#程序在win7下以管理员权限运行方法)
- vs2005 中引入app.manifest(c#程序在win7下以管理员权限运行方法)
- 申请SSL证书验证域名所有权限的其他方法Alternative Methods of Domain Control Validation (DCV)
- 一个验证IP范围内权限的C#方法,支持 ? * -
- Win7,Vista UAC下应用程序标注为“需要管理员权限”的四种方法
- 一个验证IP范围内权限的C#方法,支持 ? * -
- windows7 uac初探三(最终编程篇-集成vc,vb和c#获取win7管理员权限)
- VS 中引入app.manifest(c#程序在win7及以上windows版本下以管理员权限运行方法)
- Win7下运行VC程序UAC权限问题 VC2010设置UAC权限方法
- Vista/win7 UAC下应用程序标注为“需要管理员权限”的四种方法
- Win7,Vista UAC下应用程序标注为“需要管理员权限”的四种方法(可以修改注册表)
- asp.net mvc 控制器&动作方法 角色 权限验证
- win7中快速以管理员权限打开命令行窗口(链接型方法)
- 实现在vista和win7中使用管理员权限接收WM_DROPFILES(OnDropFiles())消息的方法
- WIN7 下删除需要管理员权限才能删除的文件夹的方法
- 计算机常识--win7 删除文件、拒绝訪问等等,所有提示权限不够 解决的方法
- vs2008中向项目(以C#为例)添加要求管理员权限的属性(为了兼容vista的UAC)
- MySQL验证用户权限的方法
- [ZT]C#验证控件的使用方法(RegularExpressionValidator)的使用
- 用户“XXX\XXX”不具有所需的权限。请验证授予了足够的权限并且解决了 Windows 用户帐户控制(UAC)限制问题。