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 ...
随机推荐
- Node.js之exports与module.exports
每一个node.js执行文件,都自动创建一个module对象,同时,module对象会创建一个叫exports的属性,初始化的值是 {} module.exports = {}; Node.js为了方 ...
- 使用spring initialization创建SpringBoot项目
https://blog.csdn.net/liutong123987/article/details/79385513 有很多方法可以快速创建Springboot项目,可以通过idea的spring ...
- winform下 PictureBox 显示网络图片
Image pic = new Image.FromStream(WebRequest.Create("http://x.com/x.jpg").GetResponse().Get ...
- oracle 产生随机数
-- 产生一个任意大小的随机数select dbms_random.random from dual; -- 产生一个100以内的随机数select abs(mod(dbms_random.rando ...
- js判断操作系统与浏览器
摘要: 对于前端开发我们最重要的工作就是兼容性,系统的兼容性,浏览器的兼容性等等.今天分享一个我在项目中封装的判断操作系统与浏览器的方法. 操作系统: var os = (function() { v ...
- SpringMVC -- 梗概--源码--壹--收参
附:实体类 Class : User package com.c61.entity; import java.text.SimpleDateFormat; import java.util.Date; ...
- 胡思乱想 & 胡言乱语
其大无外,其小无内,在数学上是不存在的,有无穷大,又有无限逼近于0而永远不等于0 现实中,人们对事物的认知局限于科学工艺的发展,往小的方面说,在没有显微镜之前,我们能看到的最小的东西莫过于尘埃,其后认 ...
- mysql报错“Starting MySQL...The server quit without updating PID file”处理
http://blog.csdn.net/lzq123_1/article/details/51354179 注意:要将/usr/bin/mysql_install_db替换成 /usr/bin/my ...
- chm只看到目录,看不到内容解决办法
鼠标左键->属性->解除锁定->搞定!
- Lua协程-测试3
print("Lua 协程测试3") -- 实现消费者-生产者关系(生产一个就消费一个) count = -- 生产总数 -- 生产者 local newProductorCo = ...