我程序需要升级本目录下的文件,所以需要覆盖或者创建文件,在xp下运行很好,在wi
n7下uac开启时,每次都覆盖或者创建文件失败,在网上查到是权限不够,有两种办法解
决:1. 加上*.exe.manifest,可以升级,但是每次启动都会出uac那个提示对话框。2. 当要覆盖时用runas运行一个新进程,但是这个很麻烦,而且对程序改动很大。有没有更好的办法呀。比如在需要权限时,能弹出提示需要权限而不是新启一个进程吗?谢谢了。
n7下uac开启时,每次都覆盖或者创建文件失败,在网上查到是权限不够,有两种办法解
决:1. 加上*.exe.manifest,可以升级,但是每次启动都会出uac那个提示对话框。2. 当要覆盖时用runas运行一个新进程,但是这个很麻烦,而且对程序改动很大。有没有更好的办法呀。比如在需要权限时,能弹出提示需要权限而不是新启一个进程吗?谢谢了。
解决方案 »
- 求助:m_pSet指针怎么定义?在哪定义?急!急!急!
- ADO 执行创建存储过程时出错
- WM_NCLBUTTONDOWN 消息在哪里?
- CreateThread 后,为什么要调用_getch(),才能执行?
- 帮我看看这段视频捕捉代码有什么问题。
- 最小窗口如何设定
- 初学者的问题--怎么样把CRecordset返回的数据用CListCtrl显示出来?
- 怎样给CDialogBar添加背景颜色?
- 有谁会用installshied做安装程序?帮帮我!:)急用啊!
- 谁有CDib?
- 可爱IT精英 爱情屡屡“挨踢”
- Directshow IAMGraphBuilderCallback 继承类选择创建filter失败!
关键是我升级程序和功能程序是在一起的,这样每次启动程序都要弹出uac的提示框,实在影响用户体验呀。
在网上看到说服务进程是没有uac提示的,请问是这样吗?
想着不行,就把升级功能做成服务。谢谢了。
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=24da89e9-b581-47b0-b45e-492dd6da2971
QQ安全更新,搜狗拼音更新也是每次都弹UAC。当然你也可以把升级功能做成服务,但是服务不能弹出界面,需要设计前台程序和服务的通信机制。前台程序把数据传给服务,让服务去写入需要权限的地方。也可以是前台程序把升级文件保存到普通权限的临时目录,然后发消息给服务,让服务完成最终的写入。