社区
C#
帖子详情
WIN7下的读写权限问题
zhangwin3
2011-07-26 11:14:57
我用VS2010自带的打包程序生成了一个安装包,发现在XP下安装使用没有什么问题,在win7下的其他盘安装也没有问题,但是在系统盘下安装,使用的时候就提示对路径xxx的访问被拒绝,请问各位大大这是什么问题啊?该如何解决?
...全文
536
7
打赏
收藏
WIN7下的读写权限问题
我用VS2010自带的打包程序生成了一个安装包,发现在XP下安装使用没有什么问题,在win7下的其他盘安装也没有问题,但是在系统盘下安装,使用的时候就提示对路径xxx的访问被拒绝,请问各位大大这是什么问题啊?该如何解决?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
心灵彩虹
2011-07-26
打赏
举报
回复
最近在做一个cs的项目,项目已经完成,后来发现不兼容windows7,经过一番整改,终于大功落成。现将心得体会写在这里。
首先读取注册表要给用户管理员得权限。exe在Vista或Win7下不以管理员权限运行,会被UAC(用户帐户控制)阻止访问系统某些功能,如修改注册表操作等;如何让exe以管理员权限运行呢,方法有两种,一个是直接修改exe属性;另一个是在程序中加入MANIFEST资源,下面分别介绍。
1. 直接修改exe属性:
1) 右击“exe”,在弹出的菜单中选择“属性”,出现的界面如下图:
2) 选择“兼容性”项,并勾选“以管理员身份运行此程序”项即可。
2. 在程序中加入MANIFEST资源,分C#和delphi实现方法:
1) C#:
? 打开Vs2005或vs2008工程,看在Properties下是否有app.manifest这个文件;如没有,右击工程在菜单中选择“属性”,出现界面如下:
? 选中“安全性”,在界面中勾选“启用ClickOnce安全设置”后,在Properties下就有自动生成app.manifest文件。
打开app.manifest文件,在<security>下加入
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" cess="false"/>
</requestedPrivileges>,重新编译即可,
全部代码如下所示:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<applicationRequestMinimum>
<PermissionSet class="System.Security.PermissionSet" version="1" Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</asmv1:assembly>
2) Delphi:Delphi程序必须在资源里面嵌入MANIFEST信息。
? 首先编辑一个文件,内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
保存为UAC.manifest,这里文件是随意的。特别注意红色的“requireAdministrator”,这个表示程序需要管理员(Administrator)才能正常运行。
? 然后编辑一个RC文件,名称为uac.rc 如下所示:
1 24 UAC.manifest
其中:
1-代表资源编号
24-资源类型为RTMAINIFEST
UAC.manifest-前面的文件名称
? 用brcc32编译这个rc文件为res文件,如下所示:
brcc32 uac.rc -fouac.res
? 在程序里面加入
{$R uac.res}
让Delphi编译的时候,把uac.res编译进exe文件
? 把文件放到vista或win7下运行,就会看程序图标下面显示UAC盾牌标志了
心灵彩虹
2011-07-26
打赏
举报
回复
我的博客有解决方法。本人也曾遇到这样问题。
gomoku
2011-07-26
打赏
举报
回复
[Quote=引用楼主 zhangwin3 的回复:]
...使用的时候就提示对路径xxx的访问被拒绝...
[/Quote]
既然面向Windows7,就要遵循Windows7的安全规范。
写文件一般不要写到Program File下,而是写到%LocalAppData%下。
sillyun
2011-07-26
打赏
举报
回复
安装时,设定只有管理员权限才可安装。
zhangwin3
2011-07-26
打赏
举报
回复
完了没人甩。。要沉了。。。
心灵彩虹
2011-07-26
打赏
举报
回复
不客气[Quote=引用 6 楼 zhangwin3 的回复:]
问题已解决! 在VS2010下 右键项目=>属性=>安全性=>直接勾选“启用ClickOnce安全设置”即可解决问题。更改level时候会提示错误“ClickOnce不支持请求执行级别...” 。
感谢 gefangliang 大哥!
[/Quote]
zhangwin3
2011-07-26
打赏
举报
回复
问题已解决! 在VS2010下 右键项目=>属性=>安全性=>直接勾选“启用ClickOnce安全设置”即可解决问题。更改level时候会提示错误“ClickOnce不支持请求执行级别...” 。
感谢 gefangliang 大哥!
win7
ftp服务器修改
读写
权限
,
win7
ftp服务器文件夹
权限
修改
win7
ftp服务器文件夹
权限
修改 内容精选换一换CentOS 7、EulerOS操作系统云服务器中,/etc/rc.local开机启动脚本不生效。本节操作以CentOS 7操作系统为例分析根因,并介绍解决方法。出现该
问题
的可能原因如下:CentOS 7中/etc/rc.d/rc.local文件没有执行
权限
。解决方案请参考处理方法1。/etc/rc.local为/etc/rc.d/rc.华为云帮...
win7
ftp服务器修改
读写
权限
,局域网ftp服务器设置不同
权限
在计算机网络发展的短短几十年的时间里,信息共享一直伴随着我们,那么你知道局域网ftp服务器设置不同
权限
的方法吗?下面是学习啦小编整理的一些关于局域网ftp服务器设置不同
权限
的相关资料,供你参考。什么是ftp?FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP是File Transfer Prot...
xp无法访问
win7
计算机提示无
权限
,ghost xp访问
win7
共享无
权限
怎么解决
有用户反馈,ghost xp升级windows7系统后,IP设置没有什么
问题
,上网正常,但需要访问局域网中的其它电脑时,却无法那些电脑,其实需要对xp系统局域网共享进行设置,现笔者介绍ghost xp访问
win7
共享无
权限
怎么解决。ghost xp访问
win7
共享无
权限
的解决方法:一、首先应检查
Win7
电脑上的一些设置1、不同系统NETBIOS 协议一定要有,需开启Guest账号。2、在“本地连接...
LabVIEW可执行档在
Win7
下的
权限
问题
最近换用Windows7系统了,可是在用LabVIEW发布可执行文件后出现了一个新的
问题
。那就是在进行一些文档的
读写
操作时提示
权限
不够。究其原因,是
Win7
采用了比XP更严格的
权限
等级。
Win7
把可执行文件的执行等级分为3级: asInvoker:以普通用户
权限
运行程序,不会提示需要取得管理员
权限
,不能
读写
受保护的文档。这也是LabVIE...
HFS+分区(mac os分区)在win 7/win 8下相互
读写
的方法
相信很多买有苹果电脑的朋友都被一个
问题
困扰着---windows系统和mac os系统相互访问对方分区,
读写
数据的
问题
。 总所周知,mac os 能够直接读取ntfs分区中的数据,但是没有写入的
权限
。这也就变成了”只能看,不能改。“ 这点对于办公一族是相当麻烦的。 而在windows系统中则是完全没法看到mac os的分区,更遑论
读写
数据了。 其实这个
问题
,早已被解决: 1.paragon
C#
110,566
社区成员
642,567
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章