0

我是一名网络开发人员,我目前的任务是构建一个 ActiveX 组件。

这是我第一次必须使用 ActiveX,并且我设法制作了一个工作示例。

但是我无法从浏览器安装 ActiveX。使用 Visual Studio 2008 安装它并运行网页时,一切都按预期工作,当我没有安装它时,我会期待类似于 Windows 更新的东西,询问我是否允许安装,但这不会发生......

这是我将其放置在网页中的方式:

<object id="myActiveX" name="myActiveX" classid="clsid:A68B19C8-9DB4-49e4-912F-37FB44968528"
                 codebase="http://localhost/myWebSite/install.cab#version=1,0,0,0"></object>

classId 中的 guid 与我为班级创建的 guid 匹配。

谁能指出我错过了什么?

编辑:

忘了提到这一点,我的 ActiveX 有一个安装项目,它生成一个 .msi 和一个 Setup.exe

我已经与那些使用 .inf 文件的人制作了一个 cab 文件,如下所示:

[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
hook1=hook1

[hook1]
run=msiexec.exe /i %EXTRACT_DIR%\Install.msi /qf
4

1 回答 1

2

您可能需要检查您的 IE 安全设​​置:默认情况下,未签名的 ActiveX 控件将被忽略。

这是另一种可能性:

您是否将控件标记为“脚本安全”和“初始化安全”?

我不确定这是您遇到的问题,因为 1)您的示例 HTML 代码没有显示您在脚本中使用该控件,并且 2)说 HTML 片段没有显示您设置了控件属性. 然而,这是一个常见的陷阱,所以如果我是你,我会看看。

IIRC 这可以通过实现IObjectSafety接口或使用注册表设置来实现。

和这两个指针可以帮助您入门。

于 2008-12-16T12:41:52.053 回答