【问题标题】:How to distribute a .NET application that uses a COM component?如何分发使用 COM 组件的 .NET 应用程序?
【发布时间】:2011-06-30 16:03:48
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# .net com activex


    【解决方案1】:

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

    【讨论】:

    • 嗯,我很确定他们确实安装了它,但可能位于不同的 dll 或不同的位置。这不会是个问题吗?
    • 这不会有问题,因为 COM 组件是使用一组注册表项来引用的。创建一个使用 Web 浏览器组件的快速测试应用程序并在您的测试系统上运行它。它应该在所有系统上都能正常运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2018-08-14
    • 2011-06-15
    • 2010-12-18
    • 2023-04-09
    相关资源
    最近更新 更多