У меня есть приложение, которое в некоторых случаях будет использовать устройство (например, принтер). По сути, в одном офисе этот принтер будет использоваться, а в другом офисе этот принтер никогда не будет использоваться.
Функциональность использования принтера находится в коде приложения, а библиотеки DLL, которые связываются с принтером, упоминаются в коде. Таким образом, DLL являются частью установочного MSI-пакета.
Однако эти dll не могут быть зарегистрированы во время установки, если не установлено обязательное условие (набор драйверов для принтера, предоставляемый производителем в виде единого exe-файла). Установщик драйверов размером около 50M.
Я не хочу включать в установочный пакет дополнительный файл размером 50 МБ для офиса, который никогда не будет использовать принтер. Каковы возможные пути решения проблемы?
В конечном счете, я бы хотел как-нибудь пропустить регистрацию этих dll во время установки. Но я не знаю, как подойти к этому.
Я думаю, что у меня может быть условная компиляция в коде. Но это потребовало бы значительного объема работы, чтобы полностью отделить код, который обращается к этому типу принтера, от остальной части кода приложения.
Любые возможные решения?