1. 用CABARC.EXE 打包cab文件,出错。 cab文件总是无法下载到ie的设置目录 (Internet Option -> setting - check object)
2. 用VS新建Project,生成cab文件,成功。cab文件下载到上面的目录。但是每次打开ie都会提示下载activeX, 有两个地方需要检查
a classid, 要使用类上面的calssid,不是assembly.cs文件里的classid
Guid("9C9701D1-D188-495d-8721-9D246211A27C"), ProgId("ZEAnQuan.ActiveX"), ComVisible(true)]
public partial class ZEAnQuanActiveX : UserControl, IObjectSafety
b 检查version. assembly.cs中的version
<object style="display:none" classid="clsid:9C9701D1-D188-495d-8721-9D246211A27C" codebase="ZEAnQuanActCab.CAB#version=1,0,0,0" width="442" height="49" id="ZEAnQuan.ActiveX"></object>
这里会指定version, 这个version和assembly.cs中的version比较,不等就会提示下载
3 用c# 写activex空间需要将在project properties->build里面check上 'register for com interop' 属性,大致原因是需要和com进行交互
The Register for COM interop project property specifies whether your managed application will expose a COM object (a COM-callable wrapper) that allows a COM object to interact with your managed application.