Условно включить файл в зависимости от конфигурации проекта

У меня есть несколько редакций проекта, для которых я создаю проект установки Visual Studio (установщик).

Для каждого выпуска существует отдельное лицензионное соглашение, которое должно отображаться в окне Лицензионное соглашение по умолчанию.

Я хочу указать LicenseFile окна Лицензионное соглашение на файл где-нибудь в клиентской FS.

Но сам файл лицензии должен быть условно включен в установочный пакет на основе либо символа условной компиляции (EDITION_FREE, EDITION_GOLD и т. Д.), Либо просто имени Конфигурации.

Не знаете, как это сделать и какие условия доступны для свойства Condition для файлов?

Спасибо,
Дмитрий.


person Dmytrii Nagirniak    schedule 25.03.2010    source источник


Ответы (1)


Вы можете создавать отдельные версии одного и того же файла с разными расширениями. Предположим, что ваш лицензионный файл - License.txt, поэтому вам нужно будет создать еще несколько, по одному для каждой конфигурации, и дать им следующие имена:

License.free.txt

License.gold.txt и т. Д.

Затем вам нужно создать конфигурации сборки с тем же именем, что и суффикс файла (бесплатный, золотой), и использовать this-like опубликовать сценарий сборки. См. этот вопрос тоже.

person Restuta    schedule 26.03.2010
comment
Это будет работать для неустановочного проекта. Я добавил событие перед сборкой для копирования файла в определенный каталог и ссылки на файл из окна Лицензионное соглашение. Но установка не будет компилироваться, поскольку изначально файла нет (и событие перед сборкой еще не выполнено). Так что мне придется хранить фальшивый файл для того, что некрасиво. - person Dmytrii Nagirniak; 26.03.2010
comment
Почему вы не можете добавить событие перед сборкой для проекта установки? - person Restuta; 27.03.2010
comment
Потому что файлы должны быть проверены перед выполнением события перед сборкой. В любом случае, я добавил событие после сборки для другого проекта, которое копирует соответствующий файл в свой каталог. Затем укажите ссылку на этот файл из проекта установки. Это гарантирует, что файл всегда действителен даже до того, как проект установки будет проверен. Я приму ваш ответ, так как он дал мне несколько идей. - person Dmytrii Nagirniak; 29.03.2010