我需要在纯非托管 C++ 应用程序内托管和运行托管控件。这个怎么做?

运行未经许可的控件通常很简单:

if (SUCCEEDED(ClrCreateManagedInstance(type, iid, &obj)))
{
    // do something with obj
}

然而,当使用许可控件时,我们需要以某种方式将 .licx 文件嵌入到项目中(参考 应用程序许可)。在非托管 C++ 应用程序中,必要的粘合剂似乎不起作用。lc.exe 工具应该能够将许可证作为程序集资源嵌入,但要么我们没有进行正确的调用,要么它默默地失败了。任何帮助,将不胜感激。

有帮助吗?

解决方案

答案取决于您使用的特定组件。请联系您的组件帮助台或阅读有关部署组件所需内容的文档。
基本上组件开发者可以自由地实施许可 他们认为合适的. 。使用 .licx 文件,组件需要能够通过 GetKey 和 IsValidKey 执行开发人员希望的任何操作(在您发布的链接中进行了说明)。因此,如果 GetKey 在组件目录中检查 .licx 文件 - 您只需确保它在那里。
据我所知,客户端程序集除了实例化控件之外不需要执行任何操作。

另外,如果您发布组件的名称和您正在使用的 lc.exe 命令,人们可以看一下。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top