下面这步很关键,选中“主输出来自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
很少装备速射炮
这些是简单问题