c#如何取得c:\program file 的写权限

xuyongtong 2010-10-12 01:43:57
c#如何取得win7系统的 c:\program file 的写权限

我用.net c#在写一个小小的健康软件,在实现在线升级的时候遇到一个问题:

下载下来升级文件不能写入c:\program file\healthBox中(软件的安装文件夹),甚至连原文件的备份都不行,提示"对路径的操作被拒绝"

代码如下:

file.move(path, path + ".old");  //把原文件备份为 .old文件

file.move(path1 + ".tmp" , path); //把下载下来的新程序移到目标位置;



我知道原因就是win7的c:\program files\文件夹的权限问题,因为在XP,我的升级程序一切正常,就是win7不行.

而且我在win7 向c:\program file\healthBox 手动拷贝一个文件系统都会提示需要继续提供管理员权限,点确定才行的.

请问各位大虾如何让win7 的 c:\program file\healthBox 有写权限,要用C#操作,因为不可能让用户去手动改. 谢谢!
...全文
1026 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuyongtong 2010-10-25
  • 打赏
  • 举报
回复
谢谢16楼,本文很有用!谢谢
Teng_s2000 2010-10-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gomoku 的回复:]
升级程序可以要求UAC提升。
[/Quote]
+1
不是你的代码有问题而是UAC的缘故

http://hi.baidu.com/dudiaodaoke/blog/item/adb6053a6778d02997ddd896.html
可以自动提升权限
xuyongtong 2010-10-25
  • 打赏
  • 举报
回复
现在只能通过为win7设置用户提示,然后程序自动用管理员权限重启实现了。

不过通过大家的帮助,我了解了uac是怎么回事了,谢谢大家,散分!
xuyongtong 2010-10-25
  • 打赏
  • 举报
回复
楼上说的不对,win7是个趋势,肯定要考虑的,而且vista 也有uac
kensouterry 2010-10-13
  • 打赏
  • 举报
回复
现在绝大多数用户还停留在XP阶段吧,何必要去Win7下面做开发呢?
太上老君 2010-10-13
  • 打赏
  • 举报
回复
这一类技巧,各厂商都有独家秘方地,我想你很难搞到这个技巧
xuyongtong 2010-10-12
  • 打赏
  • 举报
回复
Appdata ? 你下载来 主程序不要替换原来的文件吗? 下载下来放到Appdata 有什么用,始终要替换在program files 的文件才行啊
cgllj2019 2010-10-12
  • 打赏
  • 举报
回复
顶起

学习
vrhero 2010-10-12
  • 打赏
  • 举报
回复
人家升级的文件都放在Appdata目录中,你为什么偏要放在Program File里呢...
xuyongtong 2010-10-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 vrhero 的回复:]
程序自动升级和UAC安全体系又没直接联系...你升你的级,它要拦截就拦截,所有软件都绕不开它...目前只能让用户去习惯或者烦了直接关闭掉...
[/Quote]

所有软件都绕不开它?



虽然我不会,但是我不信

那为什么我安装的有道桌面词典可以悄悄的升级呢?
wuyq11 2010-10-12
  • 打赏
  • 举报
回复
自动升级,提醒用户关闭
vrhero 2010-10-12
  • 打赏
  • 举报
回复
程序自动升级和UAC安全体系又没直接联系...你升你的级,它要拦截就拦截,所有软件都绕不开它...目前只能让用户去习惯或者烦了直接关闭掉...
xuyongtong 2010-10-12
  • 打赏
  • 举报
回复
啊,楼上说得这么惨!!! 那c#开发的软件就不能自动升级了吗?
vrhero 2010-10-12
  • 打赏
  • 举报
回复
这是没法子的,除非用户关闭UAC...即使要求UAC提升也要用户手动确认的...
xuyongtong 2010-10-12
  • 打赏
  • 举报
回复
谢谢,你给我指明了方向,请问如何做呢?有没有相关文章推荐!
gomoku 2010-10-12
  • 打赏
  • 举报
回复
升级程序可以要求UAC提升。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧