三、将msi安装文件打包为cab

时间:2021-08-27 01:35:40

三、将msi安置文件打包为cab,到达在浏览器中自动安置的效果

 

如果只是生成了msi文件,用户安置的时候对照麻烦,像安置一般软件一样,需要用户慢慢点击下一步,慢慢安置,在本项目中给与打包成cab文件的方法,做到用户点击运行后,即可自动安置。

在这里需要筹备文件有:

    cabarc.exe:微软供给的cab打包工具

    EasySetup.msi:  本案例中EasySetup项目生成的windows部署安置文件

    install.inf : 需要跟EasySetup.msi打包在一起的文件,制作要领请见下文

    build.bat:  打包的批措置惩罚惩罚命令,制作要领请见下文

 

1)  install.inf制作。新建txt文件,插手以下内容,将文件名从头定名为install.inf即可。此中EasyZSetup.msi便是要打包的安置措施的名称。

[version] signature="$CHICAGO$" AdvancedINF=2.0 [Setup Hooks] hook1=hook1 [hook1] run=msiexec.exe /i "%EXTRACT_DIR%\EasySetup.msi" /qn

2)   build.bat制作。新建txt文件,插手以下内容,将文件名从头定名build.bat即可。此中EasyActivex.cab是生成方针cab的名称;install.inf是第一步生成的文件名,而EasySetup.msi是需要打包的安置措施名;第二条ping命令仅仅是让批措置惩罚惩罚不要那么快退出,起到更利于不雅察看生成功效的感化。

"cabarc.exe" -s 6144 n EasyActivex.cab install.inf EasySetup.msi ping -n 20 127.0.0.1 >nul

 把以上四个文件复制到同一个文件夹中,双击build.bat批措置惩罚惩罚命令即可生成cab文件

 

三、将msi安装文件打包为cab

 

双击bat后的运行功效如下,此中EasyActivex.cab便是生成的方针cab文件。

 

三、将msi安装文件打包为cab

 

 

三、给cab数字签名(可选)

 

     由于处于安适问题考虑,IE浏览器设置默认是禁用未签名的Activex控件的,不过想想也知道,假如打开个未知网页,“网页”就能随便挪用计算机本地的对象是何等恐怖的工作,因此,浏览器运行的Activex必需是签名了的,也切合常理。

     如果不怕用户麻烦,不给与cab签名的方法的话,也可以通过设置浏览器安适性来运行Activex。设置要领:打开浏览器--浏览器Internet选项--安适选项卡--自界说级别按钮-下载未签名的Activex控件设置为提示,生存即可。等安置完毕后,可以将“下载未签名的Activex控件”设置回禁用。

   以下为给cab签名的要领,具体要领,数字认证网上面已经介绍得很详细:

 

   1)申请、安置证书。上中国数字认证网()申请一个免费数字证书(试用期为1年,如果企业用的话需要采办)。 

        操纵要领:?pageurl=http://www.mamicode.com/ca/yhsc/4.jsp ,,值得注意的是证书用途必需选择代码签名证书。

        申请告成后的证书,由于是不带密钥的,因此下载完毕后只能够在申请证书的机器上安置、使用(签名文件),如果需要在其他机器上使用的话需要将密钥导出,操纵要领为: ?pageurl=http://www.mamicode.com/ca/yhsc/5.jsp 。

 

  2)用证书给cab包签名:?pageurl=http://www.mamicode.com/ca/thsc/7.jsp 

 

四、在解决方案中添加EasyWeb项目

 

    终于到了最后一步,颁布鸟。在解决方案中添加EasyWeb项目

 

三、将msi安装文件打包为cab

 

 

在网页目录中新建Activex文件夹,并将EasyActivex.cab文件拷贝进去

 

三、将msi安装文件打包为cab

 

在网页中添加以下代码,即可挪用Activex控件了。值得注意的是codebase是cab包的相对路径;clsid是EUserControl控件的Guid。

 

<object codebase="Activex/EasyActivex.cab" classid="clsid:685F0A47-944D-4145-BF4E-76A02A422B02"></object>

运行效果如下:

三、将msi安装文件打包为cab

点击即可在网页中打开记事本了。

五、本案例源码+cab打包工具+数字签名工具下载

六、参考资料:

1、使用C#开发ActiveX控件   

2、Activex签名要领和工具技巧  

3、中国数字认证网用户手册 ?pageurl=http://www.mamicode.com/ca/yhsc.jsp