3

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

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

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

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

4

1 回答 1

1

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

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

于 2008-09-09T09:30:04.687 回答