Другие могут размещать о решениях лицензирования .NET ....
Много лет назад Microsoft Component Object Model (COM) действительно имеет систему лицензирования. Один пишет код на C++, а клиенты используют COM для создания экземпляра вашего компонента. Механизм лицензии COM предназначен для реализации IClassFactory2
вместо IClassFactory
. Вот ссылка https://msdn.microsoft.com/en-us/library/windows/desktop/ms680095(v=vs.85).aspx
Теперь вы можете сказать «но мой код находится в VBA !?». Ну, VBA небезопасен, книги могут быть разбиты. Проблема в том, что источник отправлен внутри.
Компиляция .NET-решения лучше, но исполняемый файл представляет собой промежуточный язык (IL), который может быть обращен назад к источнику. Та же проблема с Java, «байтовый код» также может быть изменена с обратной стороны.
Для обеспечения наиболее надежной защиты кода вам необходимо скомпилировать C++. Даже с C++ некоторые люди говорят, что он все еще может быть обратным инженером.
Конечная паранойя заключается в размещении вашего ценного кода за веб-службой, чтобы он никогда не находился на компьютере пользователя.
VSTO - хороший вариант. Однако вы видели [ЭТО] (http://stackoverflow.com/questions/13984229/how-can-i-create-product-keys-for-vba-applications-so-that-illegal-distribution/13985132#13985132) –
Спасибо, Сиддхарт, это хорошо. Подобный подход в настоящее время используется, хотя и менее интересен, чем ваш. Единственным недостатком является то, что весь код остается в VBA. Я согласен, мы должны пойти в ВСТО, чтобы получить что-то более безопасное. Мы рассмотрим это. – Phil