Как использовать wixlibs в качестве ссылок на файлы с поддержкой разных платформ?

Я просто пытаюсь скопировать мою распределенную структуру проекта C# в проекты установки WIX. Теперь есть следующая проблема:

LIB: решение для библиотеки C#, которое создает библиотеки AnyCPU .NET из нескольких проектов C#

APP: DLL-библиотеки LIB ссылаются (как ссылки на файлы) в этом основном решении приложения. Кроме того, в это прикладное решение включены зависимые от платформы библиотеки, поэтому важно иметь возможность создавать настройки для двух конкретных целевых платформ x86 и x64.

Теперь я начал создавать проект wixsetup в рамках решения APP (которое отлично работает). Затем я приступил к созданию wixlib в решении LIB, которое ссылается на библиотеки LIB .NET в wixlib.

Теперь проблема:

Wixlib ссылается на библиотеки AnyCPU .NET внутри DirectoryRef, который, по-видимому, привязан к конкретной платформе при создании wixlib. Поэтому мне нужно вернуться к решению LIB, собрать проект с одной целевой платформой, скопировать созданные файлы (с помощью внешних механизмов SVN) в решение APP, собрать этот проект с той же целевой платформой, с которой был создан wixlib, и повторите эту процедуру для создания другой платформы.

Может показаться, что это довольно сложно, но выполнимо. Из-за того, что я опустил несколько других библиотечных решений, к которым относится та же проблема, а также из-за того, что все эти библиотеки используются в нескольких прикладных решениях и, наконец, все должно автоматически запускаться и на нашем сервере сборки, ясно, что Это не будет работать.

Я знаю следующее решение, хотя:

Удвойте ссылки на dll.NET в wixlib, чтобы назначить их различным каталогам INSTALLDIR и INSTALLDIR32, например, и реализовать эти различные ссылки на каталоги в wixsetup. Но это также усложнит ситуацию и поэтому не является моим предпочтительным решением - если есть альтернатива.

Если нет разумной альтернативы, просто скажите мне, и я сделаю все, как описано в последнем абзаце.

0 ответов

Другие вопросы по тегам