C# 如何从VS2008项目中为ie部署ActiveX控件?

C# 如何从VS2008项目中为ie部署ActiveX控件?,c#,visual-studio-2008,deployment,activex,certificate,C#,Visual Studio 2008,Deployment,Activex,Certificate,将VS2008(windows窗体和c#)中创建的项目部署为ie中托管的ActiveX控件的步骤是什么?我有一个文件上传程序项目,我希望将其托管在用户可以导航到的网页上,单击“信任此active x控件”,应用程序将在浏览器中的网页上运行,就像java应用程序一样 要明确的是,我不是在寻找ClickOnce(这是一个安装程序),我也不希望用户必须修改他们的.Net安全性或添加一个受信任的站点(因此仅仅将.dll文件放在对象标记中是行不通的)。我需要一些数字签名,证书什么的吗?我已经找到了这篇文章

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

要明确的是,我不是在寻找ClickOnce(这是一个安装程序),我也不希望用户必须修改他们的.Net安全性或添加一个受信任的站点(因此仅仅将.dll文件放在对象标记中是行不通的)。我需要一些数字签名,证书什么的吗?我已经找到了这篇文章的参考资料,但没有一步一步的指南(就像我为java所做的那样)

有什么建议吗?这似乎是项目中最容易的部分,但事实证明是最难的部分,我无法在这方面取得任何进展

谢谢,
Sam

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

  • CAB文件。安装过程如您在问题中所述。您需要签名控制,将其打包到CAB中,并在CAB文件上签名。您可以在此处找到更多详细信息:

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


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

    1) 创建.NETDLL文件 2) 创建一个安装程序exe(我是用InstallShield完成的,看起来也可以在VS中完成) 3) 将该安装程序打包到cab文件中 4) 指向IE中的cab文件

    这将导致IE中出现“activeX”确认下拉列表,然后出现“您信任此应用程序吗”,然后出现UAC(vista/w7),然后运行正常的应用程序安装过程:出现安装程序窗口,确认,选择安装目录。完成后,您的控件将显示在IE中的页面上

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

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

    您甚至可以将过去3周学习如何制作的.Net dll(frick)放入WPF应用程序:

    希望这能帮助别人。
    Sam

    说真的,我会为解决方案付钱的。