c盘下安装的文件访问权限问题
来源:互联网 发布:ubuntu root无声音 编辑:程序博客网 时间:2024/05/18 07:40
Win7下安装在c盘的文件在打开时有时候会出现不能访问的问题,此时你应该考虑一下是否是访问权限的问题
如果把程序安装在C:\Program Files下的话不以管理员权限运行,会被UAC(用户帐户控制)阻止访问系统某些功能,比如写入配置文件之类的。有两种方法让程序出发UAC模式一个是直接修改exe属性;另一个是在程序中加入MANIFEST资源。
1. 直接修改exe文件的属性
2.在程序中加入MANIFEST资源:
打开工程,然后右击工程在菜单中选择properties,然后在security标签页下将Enable ClickOnce security settings勾上,然后选择This is a full trust application,然后编译程序就ok了!
如果是vs2010的话 app.manifest会自动写入
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" cess="false"/>
</requestedPrivileges>
第一种方法直接修改exe属性,出发UAC后权限最高,可以直接在根目录下操作文件,但作为应用程序不可能让用户去手动修改,所以只能用第二种方法,但是win7下有一个叫VirtualStore的东东- -
(C:\Users\**\AppData\Local\VirtualStore)用代码申请的管理员模式的程序 win7会将程序对文件的操作自动转移到C:\Users\**\AppData\Local\VirtualStore\Program Files\YourApp\*.*里,而原先安装在C:\Program Files\YourApp\*.*则没有改变。产生原因大概是这个当权限不够时,保证兼容性的做法。 比如往program files 或某些系统目录要写入东西,会保存配置文件,权限不够,就会被重定向到这里。 比如往program files安装软件,一般安装程序会触发UAC提升权限,当然不会有问题。
但每次运行program files中安装的程序都触发UAC时不现实的,太烦人了,大多数程序运行时并不会触发UAC,处于受限模式,但往往很多软件运行后又会往自己目录下保存写配置,临时文件之类的,肯定没权限写入program files,所以为了运行不出错就被重定向了,骗过软件认为自己成功写入了,不至于出错。
UAC逼破开发者规范下,避免往系统目录写东西,配置最好放用户自己的appdata目录,尽量避免普通应用程序以管理员身份运行,除非程序的安装和修改一些系统配置才需要授权,这样才能根本上解决很多安全问题。
比如google的chrome就是灰常标准的安装到了User\**\AppData\Local中~微软也是为了兼容以前无数不规范的软件,才搞出个这么个东西~ 做东西还是要标准的
- c盘下安装的文件访问权限问题
- Linux下进程的文件访问权限
- linux 下的访问目录文件权限
- linux下的文件访问权限知识
- linux的文件访问权限问题
- win10下安装程序文件权限问题
- Linux下C代码中修改文件访问权限
- 文件访问的权限
- ~文件的访问权限~
- Android文件访问权限问题
- linux下的文件权限问题
- ubuntu下安装软件的权限问题
- LINUX下的用户访问授权,文件权限
- LINUX下的用户访问授权,文件权限
- Ubuntu系统下修改文件/文件夹的访问权限
- LINUX下的用户访问授权,文件权限
- ubuntu下修改目录/文件的访问权限
- Linux下访问MySQL的数据库权限不够的问题
- How to troubleshoot the "Could not create 'CDO.Message'" error message
- IO流笔记第一发
- Jenkins问题
- Linux统计某文件夹下文件、文件夹的个数
- hdu1050 活动安排问题(有坑)
- c盘下安装的文件访问权限问题
- 欢迎使用CSDN-markdown编辑器
- 由常量池 运行时常量池 String intern方法想到的(一)
- POJ 2236 - Wireless Network
- c# 动态设置控件位置
- 重学备忘
- 文章标题
- An instance of “(null)” is already running. Choose “Stop” to terminate and launch a new instance.
- Leet Code OJ 268. Missing Number [Difficulty: Medium]