Installshield, включая спутниковые библиотеки - PullRequest
3 голосов
/ 02 марта 2011

У меня проблемы, включая сателлитные библиотеки в проекте installshield.

Я попытался добавить компонент, скажем «SatelliteNorwegian», для установки на норвежском языке, для которого я установил поле «Язык данных» на норвежский.Фактические файлы находятся в папке [INSTALLDIR] / no-NB /.Я настроил это как динамическую ссылку на файл.

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

Кто-нибудь знает хорошее решение этой проблемы?

1 Ответ

1 голос
/ 12 декабря 2011

Во-первых, я много-много раз писал об опасностях динамического связывания файлов.Я действительно предлагаю вам не использовать эту функцию.Тем не менее, следующее будет работать независимо от того, будете ли вы использовать статические компоненты или динамические компоненты.

Вам необходимо создать подфункцию для каждого из поддерживаемых языков и переместить компоненты для языка на эту подфункцию.Затем присвойте каждой подфункции уникальный флаг выпуска, такой как EN-US, NO-BN.

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

При автоматизации сборки вам придется обновлять ваши вызовы ISCMDBLD, чтобы указать правильную конфигурацию продукта для сборки с использованиемаргумент -a.

...