Компилятор лицензий .NET (LC.EXE), похоже, игнорирует содержимое licenses.licx на одной машине, но не на другой. Почему?

Справочная информация: я создал очень простое решение .NET в VS2008, которое содержит достаточно кода для отображения отчета ActiveReports в окне предварительного просмотра. Компонент ActiveReports использует механизм licenses.licx, чтобы определить, правильно ли он лицензирован. Если он не найдет действительный лицензионный ключ, в предварительном просмотре отчета появится заметное сообщение о том, Это пробная копия, [бла-бла-бла и т. д.].

Моя проблема: у меня два компьютера, на обоих установлены одинаковые версии VS2008 и ActiveReports. У меня есть действующие лицензии для каждой установки. Теперь, когда я создаю свое решение на одной машине, я получаю предварительный просмотр отчета без баннера оценки, а на другой точно такое же решение компилируется в приложение, которое будет отображать сообщение оценки.

Что я выяснил на данный момент: использование Reflector.NET Я обнаружил, что на второй машине (которая отображает оценочное сообщение) компилятор лицензии (LC.EXE) каким-то образом игнорирует строку лицензии ActiveReports в licenses.licx. Но он не будет отображать никаких сообщений об ошибках или предупреждений.

⇒ Итак, остается вопрос: При каких обстоятельствах LC.EXE решит игнорировать строку текста из licenses.licx, когда он создает выходной MyApplication.licenses встроенный ресурс?


P.S. Проблема не решена путем удаления файла licenses.licx, а затем его повторного создания путем временного добавления фиктивного отчета к решению. Этот прием часто упоминается при аналогичных проблемах с лицензированием. но здесь это не работает. Содержимое файла licenses.licx кажется допустимым.

P.P.S.: Не совсем уверен, это вопрос о переполнении стека или вопрос для суперпользователя.


person stakx - no longer contributing    schedule 15.06.2010    source источник
comment
Я нашел несколько советов, которые могут оказаться полезными (попробую некоторые из них завтра): keyoti.com/kb/   -  person stakx - no longer contributing    schedule 15.06.2010


Ответы (1)


ОК, я не могу быть уверен, но я подозреваю причину этой проблемы.

Я подозреваю, что LC.EXE проверит все элементы управления, перечисленные в licenses.licx, при компиляции этого файла. Если во время этой проверки какой-либо из перечисленных элементов управления определит, что он не лицензирован должным образом (по какой-либо причине, например, из-за того, что лицензия действительно отсутствует или из-за поврежденной установки), компилятор лицензии не выдаст фактический лицензионный ключ для выходной поток ресурсов.


Обновление: несколько недель спустя я все еще верю, что это произошло. Как оказалось, на той машине, где не удалось получить лицензию, была установлена ​​поврежденная установка ActiveReports. После запуска утилиты удаления ActiveReports получил новую установку, и теперь лицензирование работает на обеих машинах.

person stakx - no longer contributing    schedule 23.06.2010