【问题标题】:How do you deploy an ActiveX control for ie from a VS2008 project?你如何从VS2008项目部署一个ActiveX控件?
【发布时间】:2009-08-19 18:16:06
【问题描述】:

将在 VS2008(windows 窗体和 c#)中创建的项目部署为 ie 中托管的 ActiveX 控件的步骤是什么?我有一个文件上传器项目,我想将它托管在用户可以导航到的网页上,单击“信任此活动 x 控件”,应用程序在浏览器的页面上运行,就像 java 应用程序一样。

需要明确的是,我不是在寻找 ClickOnce(即安装程序),我不希望用户必须修改他们的 .Net 安全性或添加受信任的站点(所以只需将 .dll 文件放入OBJECT 标记不起作用)。我需要一些数字签名,一些证书吗?我找到了对此的参考,但没有分步指南(就像我为 java 获得的一样)。

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

谢谢, 山姆

【问题讨论】:

  • 说真的,我会花钱买解决方案。

标签: c# visual-studio-2008 deployment activex certificate


【解决方案1】:

可悲的是,答案是,.net“activeX 控件”不像 COM activeX 控件 (VB6),即使您使 .net 控件可见,您也无法在操作系统中注册它方式。你要做的是:

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 周学习如何制作(frick)的 .Net dll 放入 WPF 应用程序中:

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

希望这对其他人有所帮助。 山姆

【讨论】:

    【解决方案2】:

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

    1. CAB 文件。如您所描述的安装过程。您需要签名控制,将其打包到 CAB 中并签署 CAB 文件。您可以在这里找到更多详细信息:Packaging ActiveX Controls

    2. 独立安装程序。 MSI 文件,供没有管理员权限的用户手动安装。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      • 2014-07-03
      • 1970-01-01
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      相关资源
      最近更新 更多