Я использую Crystal Reports в Visual Studio 2017 для настольного приложения, созданного с помощью VB.Net. Отчеты прекрасно работают и скомпилированы в исполняемый файл. Тем не менее, я не могу сортировать распределение зависимости времени выполнения по своему вкусу. После нескольких месяцев поиска в сети ответов я разочарован. Множество ссылок, которые больше не работают, и советы, которые не применимы. Сайт SAP - это кошмар и минное поле путаницы.
Могу ли я добавить, что мое распределенное приложение и его отчеты работают нормально, потому что я раздаю и устанавливаю CRRuntime_32bit_13_0_25.msi (не помню, где я его получил) смое приложение, но оно раздувает установщик, и я подозреваю, что есть лучший способ.
В моем первоначальном проекте установки я видел зависимости для Crystal Reports (16 x .dll), например CrystalDecisions.CrystalReports.Engine. длл. Отлично, подумал я, есть дистрибутивы времени выполнения. Однако после сборки и тестирования установщика приложение работало нормально, но все отчеты возвращали ошибку. Это длинное сообщение об ошибке о CRRedist * .msi должен быть установлен. Я не смог найти или скачать такой файл. Итак, я вручную установил CRRuntime_32bit_13_0_25.msi на тестовую машину и presto - все заработало. Затем я исключил все DLL-файлы CrystalDecisions.CrystalReports из моей настройки и снова протестировал. Нет проблем, все по-прежнему работало - пока CRRuntime_32bit_13_0_25.msi был установлен.
Теперь мой вопрос. Почему проект установки идентифицирует зависимости DLL-файлов Crystal Reports для распространения, если они не требуются? Это я не могу понять или найти ответ. Нужно ли менять какие-либо свойства по умолчанию или что-то в этом роде?
Я подозревал, что это как-то связано со свойством Register. Все установлены на «vsdraDoNotRegister». Сработает ли изменение его на "vsdraCOM"? Я попытался зарегистрировать CR dll вручную, используя regsvr32, но все возвращаемые «модуль был загружен, но точка входа не найдена», поэтому я полагаю, что нет. быть установленным в любом случае? Как я уже сказал, у меня это работает, но я не удовлетворен. Должно быть лучшее решение!