代码之家  ›  专栏  ›  技术社区  ›  Shizam

如何从VS2008项目中为IE部署ActiveX控件?

  •  1
  • Shizam  · 技术社区  · 15 年前

    部署在VS2008中创建的项目(Windows窗体和C)作为托管在IE中的ActiveX控件的步骤是什么?我有一个文件上传程序,我想托管在一个用户可以浏览的网页上,点击“信任这个活动X控件”,应用程序在浏览器中运行在页面上,就像Java应用程序一样。

    明确地说,我不是在找ClickOnce(这是一个安装程序),我不希望用户必须修改他们的.NET安全性或添加受信任的站点(所以将.dll文件放在对象标记中不起作用)。我需要一些数字签名,一些证书什么的吗?我已经找到了这方面的参考,但没有一步一步的指南(就像我得到的Java)。

    有什么建议吗?这似乎是项目中最简单的部分,但结果却是迄今为止最困难的,我无法在这方面取得任何进展。

    谢谢, 山姆

    2 回复  |  直到 15 年前
        1
  •  1
  •   Eugene    15 年前

    我们以两种形式部署AX控制:

    1. CAB文件。如您在问题中描述的安装过程。您需要签名控制,将其打包到cab中并对cab文件进行签名。您可以在此处找到更多详细信息: Packaging ActiveX Controls .

    2. 独立安装程序。不具有手动安装管理权限的用户的msi文件。

        2
  •  1
  •   Community leo1    7 年前

    遗憾的是,答案是.NET“ActiveX控件”不像COM ActiveX控件(VB6),即使您使.NET控件COM可见,也不能用相同的方式在操作系统中注册它。你要做的是:

    1)创建.NET DLL文件 2)创建一个安装程序exe(我用InstallShield完成了,看起来它也可以在vs中完成) 3)将安装程序打包成一个cab文件 4)指向IE中的cab文件。

    它的结果是在IE中,小的“ActiveX”确认下拉,然后“你相信这个应用”出现,然后UAC(Vista/W7)和 然后 您将运行正常的应用程序安装过程:安装程序窗口出现,确认,选择安装目录。完成后,您的控件将显示在IE的页面上。

    它在COM中的工作方式是,一旦你做了一个小的ActiveX确认下拉列表(和UAC),应用程序就可以运行了。

    现在,只有当您需要/希望它与.NET 2.0兼容时,上面的内容才适用。如果您不介意仅与3.0或更高版本兼容,可以使用XBAP应用程序:

    What is Microsoft's roadmap for in browser applications? Silverlight, ClickOnce, ActiveX, dlls

    你甚至可以用你过去3周的.NET动态链接库学习如何制作(frick)并将其插入WPF应用程序:

    How to put a custom windows forms control in a WPF application?

    希望这能帮助别人。 山姆