读书人

请问关于ocx嵌入网页在win7上的权限有

发布时间: 2012-07-28 12:25:13 作者: rapoo

请教关于ocx嵌入网页在win7下的权限问题
上一个帖子匆匆结束掉,发现还是没有方案,紧接上一个帖子。

问题如上,我用mfc开发了一个ocx给js调用,在win7下用ie打开(非管理员权限)出现了OCX中文件无权创建的问题。

-----------大家也可以不用看如下我说的方法,可以提提看自己觉得可行的方法-------------------

方案一:改目录
=============================================================================
逛了下论坛,大神们说把文件创建在“我的文档”中即可,尝试了下果真如此,
但是由于win7下有个“文件虚拟重定向”的机制,非管理员登入ie调用ocx创建的文件会被映射到一个虚拟目(Virtualized)中,虚拟目录后的文件结构相同,如:我的文档(C:\Users\XXX\Documents),对应的虚拟目录为
(C:\Users\XXX\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\XXX\Documents)
---------------
这样会出现一个很麻烦的问题:
当用非管理员权限打开ie的时候文件会创建到这个“虚拟目录”,而用管理员权限打开的时候又会重新在去下载,然后创建到“我的文档”目录中。资源被重复下载,由于我们的资源文件还挺大的这样对带宽并不大的用户会造成很大的困扰。
---------------
备注:
有个解决的方法就是“把网站加入了信任网点”,则不会创建到虚拟目录。但是不知道这个步骤该怎么做?
设想js在调用ocx前把网站写入注册表加入信任,但是js貌似只要一读注册表就马上会弹出交互提示,除非这个提示能去掉,或者能做到多次打开只弹一次,否则太不友好了。问了些js的同胞,被骂的狗血淋头,说是这个提议不符合uac的安全机制。
=============================================================================

方案2:创建服务进程负责文件操作
=============================================================================
据上一个帖子的兄弟说他们都是用另开一个服务进程来负责文件操作的。
匆匆结贴忘记问了,这样的话这个服务进程是不是要弄成开机就自动启动的,因为如果是在ocx中需要做文件操作的时候才去启动这个服务进程的话,同样还是会要求以管理员权限打开,否则无权限。
---------------
这样问题就来了,如果是要以管理员权限打开的话,必然是要弹提示的,这样就方法1一样了,还是不友好。
---------------
备注:
还有就是这个服务进程在什么时候注册?在什么时候启动?怎么避免被关掉?
=============================================================================

方案3:通过用户去下载exe来注册ocx,并写入信任到注册表
=============================================================================
该方案是成功了,可是由于我们之前都是直接下载ocx并注册,没有用到exe,故不能兼容原先的版本。
=============================================================================


急求啊:
哪位大哥可以谈谈具体可行的做法,要友好点的,多次弹出提权的方案肯定是不行的。
无意间登入到了上海创图公司的网站发现他们的OCX也是用exe来安装的,而且下载安装后打开网页运行OCX的时候并无权限问题。不知人家是如何处理的。。。。。。。。。。。。。。。。。。

[解决办法]
方案1就好,同一台机器经常切换用户的情况不多见

加入信任的话需要管理员权限。
[解决办法]
方案2,只有安装的时候跳UAC,从而安装上服务程序,这样以后,每次开机,服务程序可以自动被系统启动,既有权限,也不会再次跳UAC。ocx需要的时候就通知服务程序去做权限的事情
[解决办法]
把代理进程注册到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Low Rights\ElevationPolicy

参考
http://msdn.microsoft.com/en-us/library/bb250462(v=VS.85).aspx

读书人网 >VC/MFC

热点推荐