deployment - ActiveX 控件的非管理员注册

标签 deployment internet-explorer-8 activex atl registration

根据 Non-Admin ActiveX Controls ,可以在当前用户下注册activeX(在安装过程中不需要管理员权限)。
我已经创建了 ATL 项目(VS2008, native )并添加了一些什么都不做的 ATL 控件。

我创建了一个 inf 文件:

    [version]
    signature="$CHICAGO$"
    AdvancedINF=2.0

[Add.Code]
     Batman.dll=Batman.dll

[Deployment]
    InstallScope=user

[Batman.dll]
    file-win32-x86=thiscab
    clsid={2C10EC82-2BF3-4ED5-8AFC-E5146C672B3D}
    FileVersion=1,0,0,1
    RegisterServer=yes

将 dll 和 inf 都添加到 CAB 中并对其进行签名。
我从简单的 html 页面加载 ActiveX
<OBJECT ID="sampleControl" CLASSID="CLSID:2C10EC82-2BF3-4ED5-8AFC-E5146C672B3D" CODEBASE="Batman.cab#Version=1,0,0,1"></OBJECT>

无论如何它都不会在当前用户下注册它。

如果我指定 InstallScope=machine 加载 activeX 没有问题。

知道该怎么做吗?

谢谢

最佳答案

我遇到了同样的问题,但最奇怪的是,Apache Server 可以,而 Tomcat Server 则不行。

最后,我发现它也与Web Server设置有关。

您的网络服务器 必须支持正确的 MIME 类型映射。如果您使用 Tomcat 进行测试,请将以下内容添加到 web.xml:

<mime-mapping>
    <extension>cab</extension>
    <mime-type>application/vnd.ms-cab-compressed</mime-type>
</mime-mapping>

关于deployment - ActiveX 控件的非管理员注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2201177/

相关文章:

javascript - 减少 IE8 上的 mixin 生成错误

jquery - Highcharts IE8 - 页面错误

c++ - 开发 ActiveX 控件

javascript - 如何在 C++ 中构建可以使用 Javascript 编写脚本的 ActiveX 对象

python - 如何在pyQt5中接收ActiveX事件?

git - 从 git 部署到 Azure 时,如何存储我的 secret ?

php - 部署 PHP 站点以便无法查看/编辑代码

css - 在 IE7 或 IE8 中查看打印 CSS

python - pip freeze 输出中的 future 安全版本号

ruby-on-rails - Capistrano 和 Git,毁了我的生活。 "Unable to resolve revision for [HEAD] on repository ..."