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

时间:2009-08-19 18:16:06

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

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

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

有什么建议吗?这似乎是项目中最简单的部分,但它最终变得最难,我无法取得任何进展。

谢谢, 萨姆

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分: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)并将其插入WPF应用程序的.Net dll:

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

希望这有助于他人。 萨姆