首页 新闻 会员 周边

VSTO开发中如何解决在Window7下的UAC权限问题?

0
悬赏园豆:5 [已解决问题] 解决于 2012-08-02 10:13

一般的应用程序开发只需要修改manifast文件里的requestedExecutionLevel标签值就行了,但是excel插件的最后编译出来的项目文件是dll的没法修改manifast中的内容。望遇到过此类问题的大侠指点一二!

Lyle Blog的主页 Lyle Blog | 初学一级 | 园豆:192
提问于:2012-07-26 11:36
< >
分享
最佳答案
0

请说详细点你的UAC权限问题是什么意思?

你用的 VSTO 版本是什么?

收获园豆:5
Launcher | 高人七级 |园豆:45045 | 2012-07-26 11:43

UAC是微软的安全机制,在Vista和Window7中都有UAC权限控制.我的是VSTO4.0

Lyle Blog | 园豆:192 (初学一级) | 2012-07-26 12:18

@Lyle Blog: 我当然知道UAC是啥,我是问你UAC妨碍你的啥了?你是安装时候无法注册?还是运行时需要提升权限,或者别的?

Launcher | 园豆:45045 (高人七级) | 2012-07-26 12:59

@程序猿.码农: 是运行时我需要在程序的根目录下创建日志文件和数据库文件,现在是没有权限创建这些文件!

Lyle Blog | 园豆:192 (初学一级) | 2012-07-26 13:27

@Lyle Blog: 千万别想着通过代码来提升权限在安装目录下写文件(虽然也是可能的),正确的做法是把日志文件和数据库文件存放到当前用户目录下,例如:C:\Users\windows用户名\AppData\Local\你的应用程序名\xxx.log.

Launcher | 园豆:45045 (高人七级) | 2012-07-26 13:38

@程序猿.码农: 你的这种说法我表示赞同,但是放到用户目录下会有一个问题就是我需要创建的不仅仅是日志文件而已,数据库文件如果也放用户目录下很容易会被用户当成垃圾给清理掉

Lyle Blog | 园豆:192 (初学一级) | 2012-07-26 13:49

@Lyle Blog: 数据文件也能存放,这是微软给大家留的安全地带,是编写UAC兼容程序的最佳实践。你可以在你的组件内部启动一个外部进程来写你的安装目录,但这会让你的程序看上去很笨拙。用户当垃圾清理掉,那是用户的使用习惯问题,现在大多数程序都会把读写的数据存放到该目录下,放心使用好了。

Launcher | 园豆:45045 (高人七级) | 2012-07-26 14:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册