¿Cómo alojar controles .Net con licencia en una aplicación C++ no administrada?

StackOverflow https://stackoverflow.com/questions/51436

  •  09-06-2019
  •  | 
  •  

Pregunta

Necesito alojar y ejecutar controles administrados dentro de una aplicación C++ puramente no administrada.¿Como hacer esto?

Ejecutar controles sin licencia suele ser sencillo:

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

Sin embargo, cuando utilizamos un control con licencia, necesitamos de alguna manera incrustar un archivo .licx en el proyecto (ref licencia de aplicaciones).En una aplicación C++ no administrada, el pegamento necesario no parece funcionar.Se supone que la herramienta lc.exe puede incrustar la licencia como un recurso de ensamblaje, pero o no estábamos realizando la invocación correcta o falló silenciosamente.Cualquier ayuda sería apreciada.

¿Fue útil?

Solución

La respuesta depende del componente particular que esté utilizando.Comuníquese con la mesa de ayuda de su componente O lea la documentación sobre lo que se necesita para implementar su componente.
Básicamente, los desarrolladores de componentes son libres de implementar licencias. como lo consideren conveniente.Con el archivo .licx, el componente debe poder hacer lo que el desarrollador desee a través de GetKey e IsValidKey (explicado en el enlace que publicó).Entonces, si GetKey busca un archivo .licx en el directorio del componente, solo necesita asegurarse de que esté allí.
AFAIK, el ensamblaje del cliente no necesita hacer nada excepto crear una instancia del control.

Además, si publica el nombre del componente y el comando lc.exe que está utilizando, la gente podría echarle un vistazo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top