C# 如何分发使用COM组件的.NET应用程序?

C# 如何分发使用COM组件的.NET应用程序?,c#,.net,com,activex,C#,.net,Com,Activex,我有一个C#应用程序,我一直在通过ClickOnce发布,现在我想使用一个名为“Microsoft Web Browser”的COM组件,因为它让我可以访问.NET的WebBrowser的底层ActiveX,这让我可以访问某些功能所需的 我相信这个组件是在较旧的系统上,或者可能是在“C:\Windows\System32\shdocvw.dll”中的较旧版本的IE上。在我的系统中是在“C:\Windows\SysWOW64\ieframe.dll”中。这真是一团糟。我该如何将这个应用程序分发到随

我有一个C#应用程序,我一直在通过ClickOnce发布,现在我想使用一个名为“Microsoft Web Browser”的COM组件,因为它让我可以访问.NET的WebBrowser的底层ActiveX,这让我可以访问某些功能所需的

我相信这个组件是在较旧的系统上,或者可能是在“C:\Windows\System32\shdocvw.dll”中的较旧版本的IE上。在我的系统中是在“C:\Windows\SysWOW64\ieframe.dll”中。这真是一团糟。我该如何将这个应用程序分发到随机机器上?我只知道这些机器都有Windows XP min(我甚至不知道它们是x32还是x64处理器)?它会在他们的机器上神奇地工作吗(如果我的应用程序存储的是某种与系统无关的COM组件GUID,而不是dll路径)


顺便说一句,根据我之前对问题的回答,我将此组件添加为工具箱项。

AFAIK您所指的组件是Windows的一部分。如果我是你,我会检查每个目标操作系统(Windows XP SP3 x32、Windows Vista SP1 x32和x64、Windows 7 SP1 x32和x64、服务器操作系统)是否安装了此组件以及安装的版本。
检查之后,您很可能会发现您不必自己分发它。

我很确定他们确实安装了它,但可能安装在不同的DLL或不同的位置。这不是一个问题吗?这不会是一个问题,因为COM组件是使用一组注册表项引用的。创建使用Web浏览器组件的快速测试应用程序,并在测试系统上运行它。它应该在所有系统上都能正常运行。