Как разместить лицензионные элементы управления .Net в неуправляемом приложении C ++? - PullRequest
3 голосов
/ 09 сентября 2008

Мне нужно разместить и запустить управляемые элементы управления внутри чисто неуправляемого приложения C ++. Как это сделать?

Запускать нелицензионные элементы управления обычно просто:

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

Однако при использовании лицензионного элемента управления нам нужно как-то встроить файл .licx в проект (ссылка лицензирование приложения ). В неуправляемом приложении C ++ требуемый клей не работает. Предполагается, что утилита lc.exe может встраивать лицензию в качестве ресурса сборки, но либо мы не размахивали правильным вызовом, либо она молча провалилась. Любая помощь будет оценена.

1 Ответ

1 голос
/ 09 сентября 2008

Ответ зависит от конкретного компонента, который вы используете. Обратитесь в службу поддержки вашего компонента ИЛИ прочитайте документацию о том, что требуется для развертывания их компонента.
По сути, разработчики компонентов могут свободно осуществлять лицензирование по своему усмотрению . С файлом .licx компонент должен иметь возможность делать все, что пожелает разработчик через GetKey и IsValidKey (объяснено в ссылке, которую вы разместили). Поэтому, если GetKey проверяет файл .licx в каталоге компонентов, вам просто нужно убедиться, что он там есть.
AFAIK клиентской сборке не нужно ничего делать, кроме как создать экземпляр элемента управления.

Также, если вы опубликуете имя компонента и команду lc.exe, которую вы используете, люди могут взглянуть ..

...