ie activex控件开发_火狐activex控件_ie activex控件(3)

电脑杂谈  发布时间:2017-05-09 18:02:12  来源:网络整理

下面这步很关键,选中“主输出来自CSharpActiveX(活动)”项,如图7所示:

图7主输出内容项

设置主输出项内容的Register属性值为vsdrpCOM,如图8所示:

图8设置主输出项属性

二、制作CAB包

Visual Studio 2010提供了CAB项目模板,但非常遗憾,无论我怎么设置,其生成的CAB安装包都不能在终端成功安装,最终只能放弃,转而选择了makecab.exe工具。源码提供了该打包工具,位于CAB目录下,共包含makecab.exe、cab.ddf、installer.inf和makecab.bat四个文件,其中cab.ddf和installer.inf文件需要简单说明下。

cab.ddf文件定义了CAB文件的打包行为,内容包括打包参数,打包内容项以及输出文件等。需要指出的是,使用C#开发的ActiveX控件CAB包中需要包含MSI文件和installer.inf安装文件两部分。cab.ddf文件内容如下:

.OPTION   EXPLICIT
.Set Cabinet=on
.Set Compress=on
.Set MaxDiskSize=CDROM
.Set ReservePerCabinetSize=6144
.Set DiskDirectoryTemplate="."
.Set CompressionType=MSZIP
.Set CompressionLevel=7
.Set CompressionMemory=21
.Set CabinetNameTemplate="CSharpActiveX.CAB"
"installer.inf"
"CSharpActiveX.msi"

installer.inf文件定义了CAB文件的安装行为,作为控件的一部分打入CAB包中,其内容如下:

[Setup Hooks]
hook1=hook1

[hook1]
run=msiexec /i %EXTRACT_DIR%\CSharpActiveX.msi /qn

[Version]
Signature= "$CHICAGO$"
AdvancedInf=2.0

makecab.bat文件是调用makecab.exe进行打包的批处理文件,内容如下:

当生成安装项目后,将CSharpActiveX.msi文件拷贝到CAB目录下,就可以双击makecab.exe文件进行打包了,执行完成后会输出CSharpActiveX.CAB文件,这就是所谓的ActiveX控件了。ie activex控件开发

三、签名

IE采用了AuthentiCode代码签名技术,对浏览器端安装ActiveX控件行为进行了控制。上面生成的ActiveX控件如果想在浏览器端成功安装,需要对浏览器进行设置,具体操作参见部署章节。

让所有用户都对IE进行设置,显得不太友好,为此,我们可以考虑使用AuthentiCode技术对ActiveX控件进行签名。Visual Studio 2010附带的signtool.exe(以前版本的VS提供的是另一个工具signcode.exe)代码签名工具可以完成该工作(注意,并非一定要用微软提供的工具进行签名,只要按照AuthentiCode技术标准,使用 PKCS#7标准定义的数据结构生成待签名文件的数字签名,并加入到待签名文件的PE结构中即可)。但需要先准备一个PKCS#12(证书及私钥)文件(.pfx),注意,该证书的增强型密钥用法须包含代码签名这项,如图9所示:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-46151-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...