如何创build一个MSI来安装和注册一个ActiveX控件?

我有一个第三方ActiveX控件,我想打包在一个MSI,所以它可以部署和注册通过组策略。 目标是我不希望最终用户必须点击并在IE中安装ActiveX控件。 我有Cab文件,其中包含(2)ocx文件,(1)inf文件和(1)dll。 我怎么知道得到这些安装和注册为IE浏览器的ActiveX?

你所要求的是完全可行的。 基本上,“怎么做”是学习使用MSI创作工具,确定文件需要放在硬盘上的位置,确定需要进入registry的哪个位置,然后构build一个MSI文件想。

就我个人而言,我使用Windows Installer XML(WiX)工具包来构buildMSI文件。

  • GáborDEÁKJAHN维护了一个绝妙的WiX教程 。 如果你打算build立一个无声UI安装程序,然后有很多这个教程,你不需要学习,但它仍然是伟大的东西。

  • 虽然它适用于WiX 2.0(这不是目前的版本,但仍然可用,工作得很好),这个WiX tutoial做了一个很好的工作。

那里也有很多第三方的graphics微星制造商。 他们分解成基于快照和非快照的。

基于快照的软件包构build者在软件安装期间遇到了与快照计算机无关的更改的问题,并且可能会创build非常乱的软件包。 我有时会使用一个快照工具来获得安装程序的“感觉”,但是我总是会手动构build我的生产包。

非基于快照的系统通常只是MSI模式的graphicsIDE(以及一些通过WiX“编译”的一般WiX XML源文件),允许您拖放等来创build包。

无论你做什么,获得有关Windows Installer工作原理的一些知识将为您提供build立良好软件包的最佳机会。 微软的文档有点密集,但是里面有很多好东西。 最后,我发现反复试验是熟悉Windows Installer细微差别的最好方法。

我已经使用以下步骤成功完成了几次:

  1. 从驾驶室提取所有文件到一个新的文件夹
  2. 打开命令提示符并进入该目录
  3. 像这样跑热:

    “c:\ Program Files(x86)\ Wix Toolset v3.9 \ bin \ heat.exe”dir。 -cg CoreCmpGroup -gg -template片段out.wxs

  4. 然后在你的项目中使用out.wxs。 所有COM注册等将神奇地为你做。 🙂

我还没有尝试过,但是我会担心ActiveX控件的自动化部署如何与Internet Explorer安全性交互。 我的直觉是“不太好”。 我更倾向于configuration策略来信任使用控件的网站(如果您确信这样做是安全的)或控件本身(可能有点烦琐),并让控件在正常的方式。