ActiveX控件未自动安装

本文关键字:安装 控件 ActiveX | 更新日期: 2023-09-27 18:20:02

我用c#编写了一个简单的activex控件,并创建了它的.msi安装程序,并将其打包在.cab文件中。当我手动运行.msi安装程序时,它会安装activex控件,并且在浏览器中运行良好。但当浏览器提示自动安装时,它不会被安装。

我使用的是windows服务器2008 64位和IE 11。

.INF
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
AxControlsInstaller.msi=AxControlsInstaller.msi
[AxControlsInstaller.msi]
file-win32-x86=thiscab
RegisterServer=yes
clsid={1FC0D50A-4803-4f97-94FB-2F41717F558D}
FileVersion=1,0,0,0

我已经按照以下教程创建了控件。它一直工作到第16步,但每次刷新后都会提示安装,并且没有安装。

http://www.slideshare.net/yudep_apoi/steps-how-to-create-active-x-using-visual-studio-2008

[IE设置更改]

运行ActiveX和插件-启用

下载签名ActiveX控件-启用

为标记为可安全编写脚本的ActiveX控件编写脚本–启用

下载未签名的ActiveX控件-提示

初始化并编写ActiveX控件脚本,但未标记为安全-提示

ActiveX控件未自动安装

看看这个问题和我的答案。这应该是你想要的。

我正在使用msiexec安装activex,但不是直接安装,而是通过我自己的runmsi.exe文件安装。后来我对这种方法做了一些修改。我从msi安装程序转到exe(安静安装),现在我直接引用exe安装程序(以下片段没有经过测试,但应该可以工作)

[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Deployment]
InstallScope=user|machine
[Setup Hooks]
install=install
[install]
run="""%EXTRACT_DIR%'simpleactivex.exe"""

你仍然需要制作cab并签署所有内容——activex、exe安装程序、cab文件。签名时使用时间戳,如我的回答所示。免费时间戳授权机构的列表可以在这里找到。