ActiveX控件制作过程问题汇总

Microsoft JScript 运行时错误: 安全透明方法“MacActiveX.MacActive.GetComputerMAC()”尝试访问安全关键方法“System.Management.ManagementClass..ctor(System.String)”失败。

程序集“MacActiveX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”标记为 AllowPartiallyTrustedCallersAttribute 并且使用 2 级安全透明模型。默认情况下,2 级透明将导致 AllowPartiallyTrustedCallers 程序集中的所有方法都变成安全透明的,这可能是导致发生此异常的原因。

解决方法:在类头部增加属性设置:[System.Security.SecuritySafeCritical]

<object classid="clsid:afea693d-7566-4f1e-b77c-80ccc2932296"
codebase="MacActiveXSetup.CAB#version=1,0,0,0" id="helloBossma"></object>

AssemblyInfo.cs 增加以下

using System.Security;

[assembly: AllowPartiallyTrustedCallers()]//授信任规则声明
[assembly: SecurityRules(SecurityRuleSet.Level1)]//增加透明规则声明

参考文档:

http://www.cnblogs.com/yilin/p/csharp-activex.html
http://www.cnblogs.com/weixing/archive/2013/06/28/3161165.html
http://www.cnblogs.com/shuang121/archive/2012/06/04/2534296.html
http://q.cnblogs.com/q/57913/
http://blog.csdn.net/ddllzz2008/article/details/5784737

时间: 2024-11-05 16:07:29

ActiveX控件制作过程问题汇总的相关文章

C#制作ActiveX控件及部署升级(摘自网络)

使用C#开发ActiveX控件 控件开发.制作CAB包.签名.部署 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是用C++或VB语言开发,本文介绍另一种方式,在.NET Framework平台上,使用C#语言开发ActiveX控件. 虽然本文通篇都在讲如何使用C#语言开发ActiveX控件,但我并不极力推荐使用这种技术,因为该技术存在明显的局限,即需

使用C#开发ActiveX控件(新)

前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是用C++或VB语言开发,本文介绍另一种方式,在.NET Framework平台上,使用C#语言开发ActiveX控件. 虽然本文通篇都在讲如何使用C#语言开发ActiveX控件,但我并不极力推荐使用这种技术,因为该技术存在明显的局限,即需要浏览器端安装.NET Framework(版本取决于开发Ac

C#制作ActiveX控件中调用海康SDK的问题

这个事情就是一个坑,耽误了两周时间,之前并没有做过ActiveX这玩意,现在客户需求如此,只能说是在网上看着教程做了. 事情是这样的,有一台海康威视的摄像头,客户需要一个ActiveX控件嵌入到网页中,通过点击按钮开始录制和结束录制来进行视频的录制和保存,关于海康摄像头的二次开发在此就不多说了,可以参考SDK中的说明. 直接上流程: 1.开发环境: VS2010,这个打包方便,之前用VS2013打包的,总是调用不了,不知道原因是什么:SDK是32位的,用64位的在Winform中可以正常使用,在

C# 制作ActiveX控件并添加到网页

1.创建ActiveX控件--按钮 2.定义一个接口,并在控件中实现 3.部署安装 4.CAB打包 5.添加到网页中进行测试 一. 创建ActiveX控件--按钮 1.新建一个Window窗体控件库项目,命名为ActiveXDemo. 2.在自动生成的UserControl1页面上添加一个button 3.点击事件里我们只弹出一个MesageBox [csharp] view plain copy private void button1_Click(object sender, EventAr

C#实现ActiveX控件开发与部署

现在,我们手里已经有了这个控件包:QRCode.cab,下面我们编写一个测试的网页 <html> <head> <title>无标题页</title> <script type="text/javascript" language="javascript"> function Test() { qrcodeocx.DecodeQRCode("@UEsDBBQAAAAIADWPjj3wRxgnaAA

.NET : 开发ActiveX控件(转载)

我估计有些朋友不清楚ActiveX控件,但这篇博客不是来解释这些概念的.如果你对ActiveX的概念不清楚,请参考这里: http://baike.baidu.com/view/28141.htm 这篇博客也不是讨论ActiveX是否有必要用的,因为这历来也是有些争议的.anyway, 我们这里只是探讨一下如何在.NET中也编写ActiveX控件,我用一个实例记录一下该过程 1. 创建一个类库项目,设置 Comvisible为true,设置AllowPartiallyTrustedCallers

ActiveX控件是什么?

一.ActiveX的由来 ActiveX最初只不过是一个商标名称而已,它所涵盖的技术并不是各自孤立的,其中多数都与Internet和Web有一定的关联.更重要的是,ActiveX的整体技术是由Microsoft的COM(Component Object Model,组件对象模型)构筑的.但不要误认为ActiveX是定义了所有包含基于COM的技术.COM与Microsoft Office和Windows以及Microsoft现在所做的一切都有关联,但显然这些产品并不是ActiveX家族中的成员.

剖析ActiveX控件安全问题

Dissect ActiveX Control Safety 1.介绍 如果你曾经在网页或者ASP中使用过com对象,你可能会发现,有时候会出现这样讨厌的对话框     这是因为你的控件没有被标记为安全的,对于初始化不安全或者对于脚本不安全,甚至兼而有之.你每打开一次这样的网页,这种情况就会发生一次,你怎么办?当然,这可以通过设置IE本身的安全等级为low来解决这样的问题,但是如果你要制作一个可发布的控件,你能想象到每一位用户在使用你制作的控件时都要且列抱怨这种强制行为:或者如果你是其中一个使用

ActiveX控件打包成Cab置于网页中自动下载安装 (转)

[背景] 做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必须进行本地的注册,也就是说用户得首先要把该ActiveX控件(test.ocx)放在本机的%system%/system32下,然后运行DOS工具里面运行regsvr32 test.ocx命令进行注册.但如果真是这么去做的话,那么代表着你处于危险之中了,因为您是通过让用户自己去部署设置环境来达到你的目的,这就失去软件项目本身所存在的价值.那么面对这种情况,我们应该如何解决呢