wps插件开发中com组件权限
需要对wps写一个小的插件,也就是几行代码的事情,但却碰到了一个坑
wps中的com组件的调用和MSoffice非常的相似,几乎只需要把包的头修改一下就可以用了。
比如开发wps文档的插件,需要引用
- Kingsoft Add-In Designer
- Kingsoft Wps 2.0 Object Library
- kingsoft Office 2.0(1.0) Object Library (选2.0的的时候会勾选1.0)
然后继承一个IDTExtensibility2
接口并设置一个[ComVisible(true)]
就可以开始开发了,但是在接下来的事情里面就是一个坑了。
在OnConnection事件里面添加一条弹出一个框
MessageBox.Show("aaa");
设置启动类库设置-》生成中设置com互操作组成,然后编译.
编译的时候由于设置为Com互操作需要使用管理员权限,如果不使用管理员权限会提示
错误 7 无法注册程序集“E:\test\WordItemDev\WpsItemInsert\bin\Debug\WpsItemInsert.dll”- 拒绝访问。请确保您正在以管理员身份运行应用程序。对注册表项“HKEY_CLASSES_ROOT\WpsItemInsert.Init”的访问被拒绝。 WpsItemInsert
于是使用管理员启动visual Studio,但是编译的时候却找不到wps上面的三个组件。
未能添加对"kingsoft WPS 2.0 Object Library"的引用
大概就是管理员下com组件没有注册,所以手工来给几个lib注册
C:\WINDOWS\system32>regsvr32 D:\Program Files\WPS Office\9.1.0.4468\office6\ksaddndr.dll
注册下面dll
C:\WINDOWS\system32>regsvr32 D:\wps\9.1.0.4468\office6\ksoapiv8.dll
提示模块xxx已经加载,但找不到入口点DllRegisterServerXXXXXXX
也就是说我在普通模式下编译无法注册com组件,而在管理员模式无法调用wps的com组件。
在wps论坛上问了这个问题,给的回答是
使用管理员权限运行vs,但是引wps的com组件出现了问题,在普通运行的时候是没有问题的”这个貌似有点吻合。楼主用登录管理员安装WPS2013试试?
ps:一般的软件在安装的时候都会提示该软件是仅适用我,还是所有人。如果是仅适用于我的话,就会将注册表信息保存在CurrentUser下,这样只有该用户登录才能看到该软件;如果是选择所有人的话,就会写到LocalMachine节点下
确实是wps默认只给当前用户注册了com组件,所以在管理员权限下面会找不到wps的com组件
解决方法
是去administrator用户下重新安装一下wps就好了。在具有管理员权限的其他用户下使用管理员权限也不行,一定要到adminsitartor用户下才行。
如果不能进管理员权限,在当前用户下使用管理员权限运行cmd执行
net user administrator /active:yes
注销后就能够看到adminsitrator用户了。
wps插件开发中com组件权限的更多相关文章
- Android中Intent组件详解
Intent是不同组件之间相互通讯的纽带,封装了不同组件之间通讯的条件.Intent本身是定义为一个类别(Class),一个Intent对象表达一个目的(Goal)或期望(Expectation),叙 ...
- ASP.NET调用Office Com组件权限设置
ASP.NET在调用Office Com组件时,经常会出现权限限制的问题,而出现如下错误: 现通过以下几步设置,可解决上述问题:(1)64位系统中,请在IIS应用程序池集成模式中应启用调用32位应用程 ...
- Android 短信模块分析(二) MMS中四大组件核心功能详解
接下来的分析先从MMS中四大组件(Activity ,BroadCastReceiver,Service,ContentProvider),也是MMS中最核心的部分入手: 一. Activity 1 ...
- [转]Office导入导出组件权限配置汇总
原文地址:Office导入导出组件权限配置汇总 具体配置方法如下: 1:在服务器上安装office的Excel软件. 2:在"开始"->"运行"中输入 ...
- drf框架中认证与权限工作原理及设置
0909自我总结 drf框架中认证与权限工作原理及设置 一.概述 1.认证 工作原理 返回None => 游客 返回user,auth => 登录用户 抛出异常 => 非法用户 前台 ...
- drf框架 - 三大认证组件 | 认证组件 | 权限组件 | 频率组件
RBAC 基于用户权限访问控制的认证 - Role-Based Access Control Django框架采用的是RBAC认证规则,RBAC认证规则通常会分为 三表规则.五表规则,Django采用 ...
- 第四章、drf框架 - 三大认证组件 | 认证组件 | 权限组件 | 频率组件
目录 RBAC 基于用户权限访问控制的认证 - Role-Based Access Control 三大认证组件 源码分析 一.认证组件 自定义认证类 使用: 二.权限组件 自定义权限类 三.频率组件 ...
- 描述下什么是springcloud,springcloud中的组件有哪些?分别描述下它的原理?
1.什么是springcloud,springcloud中的组件有哪些? Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的微服务:就是把 ...
- rest_framework 认证组件 权限组件
认证组件 权限组件 一.准备内容 # models class User(models.Model): name = models.CharField(max_length=32) pwd = mod ...
随机推荐
- 【Intel AF 2.1 学习笔记二】AF中的页面——Panel
Panel Panel控件是你的app中的独立内容的区域控件.它是af UI的核心.Panel div 元素实际上承载了app中你管理和显示的界面元素和内容. 创建panel控件是相当地容易的:在id ...
- 【WP8】自定义控件
1.测量和安排布局:MeasureOverride, ArrangeOverride //测量(传入控件的可用大小) protected override Size MeasureOverride(S ...
- MongoDB 之 Capped Collection
MongoDB 支持 Capped Collection,一种固定大小的集合,当集合的大小达到指定大小时,新数据覆盖老数据,MongoDB Replica set 中的 oplog 就是 Capped ...
- 一下删除MSSQL表所有的数据,但不删除表结构
--CREATE PROCEDURE sp_DeleteAllData--AS--EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT AL ...
- SpringMVC由浅入深day01_13springmvc和struts2的区别_14问题
13 springmvc和struts2的区别 1.springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2是基于类开发, ...
- 自定义tag标签-实现long类型转换成Date类型
数据库里存储的是bigint型的时间,entity实体中存放的是long类型的标签,现在想输出到jsp页面,由于使用的是jstl标签,而要显示的是可读的时间类型,找来找去有个 fmt:formatDa ...
- mongodb安装使用笔记
mongodb安装使用 安装后配置环境变量 创建数据库文件夹并连接数据库,并执行mongod --dbpath c:\workname 打开新的cmd,执行mongo命令,管理数据库 show dbs ...
- U3D的控制
做游戏少不了控制,但是一个成熟的游戏引擎,是不能简单仅仅获取键盘中或者遥感确定的按键来控制,要考虑到用户更改游戏按键的情况,当然也得考虑到不同设备的不通输入方式,比如U3D是可以运行在iphone上的 ...
- Unity3d OnApplicationPause与OnApplicationFocus
在手机游戏当中,会碰到“强制暂停”,如:锁屏.接电话或短信之类的.如果“强制暂停”时间过长,网络游戏有时得重新登录等事件. 而Unity3d,Android Plugins中的UnityPlayer. ...
- Streaming 101
开宗明义!本文根据Google Beam大神Tyler Akidau的系列文章<The world beyond batch: Streaming 101>(批处理之外的流式世界)整理而成 ...