2008-09-09 6 views
3

Ich muss verwaltete Steuerelemente in einer rein nicht verwalteten C++ - App hosten und ausführen. Wie macht man das?Wie hosten lizenzierte. Net-Steuerelemente in nicht verwalteten C++ - App?

unlizenzierte Kontrollen auszuführen ist in der Regel einfach:

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

Wenn jedoch eine lizenzierte Steuerung verwenden, müssen wir irgendwie eine .licx Datei in das Projekt (ref application licensing) einbetten. In einer nicht verwalteten C++ - Anwendung scheint der erforderliche Kleber nicht zu funktionieren. Das lc.exe-Tool soll die Lizenz als Assemblierungsressource einbetten können, aber entweder haben wir nicht den richtigen Aufruf geweckt oder es ist im Hintergrund gescheitert. Jede Hilfe wäre willkommen.

Antwort

1

Die Antwort hängt von der jeweiligen Komponente ab, die Sie verwenden. Wenden Sie sich an Ihren Komponenten-Helpdesk ODER lesen Sie die Dokumentation über die Bereitstellung der Komponente.
Grundsätzlich können Komponentenentwickler die Lizenzierung frei implementieren, wie sie für richtig halten. Mit der .licx-Datei muss die Komponente alles tun können, was der Entwickler über GetKey und IsValidKey (erklärt in dem von Ihnen geposteten Link) erreichen wollte. Wenn GetKey im Komponentenverzeichnis nach einer .licx-Datei sucht, müssen Sie nur sicherstellen, dass sie dort ist.
AFAIK die Client-Assembly muss nichts tun, außer das Steuerelement instanziieren.

Auch wenn Sie den Namen der Komponente und der lc.exe Befehl Sie verwenden schreiben, könnten die Menschen einen Blick ..