Если вы выпускаете для разных версий фреймворка, то вам понадобятся разные проекты.Вы, вероятно, могли бы избежать переключения целевого фреймворка во время выполнения, но существует очень много переменных, и к тому времени, как вы их все выясните и протестируете, вы могли бы легко создать дополнительные проекты.
Я думаю, это так.было бы хорошо потратить ваши деньги, чтобы инвестировать в инструмент установки, такой как Installshield , который имеет встроенную поддержку для остальных функций, которые вы хотите.
Я считаю, что вы должны иметь возможностьчтобы выполнить все ваши потребности в одном проекте installshield, используя различные ключи и ключи конечного пользователя (для запуска пробной или реальной установки), но вы можете рассмотреть возможность разделения пробной и реальной в зависимости от вашей схемы лицензирования.
Обновление
Вы также можете решить эту проблему с помощью чистого решения VS2010, оно просто более сложное.
Исходя из ваших целей, вам потребуется всего 5 проектов иКаждое решение будет иметь 2 конфигурации, одну для выпуска, одну для пробной версии (гдеопределение eprocessor установлено).
Возможно, вам удастся обойтись без единого решения по сборке, которое содержит все 5 проектов, поскольку вы можете ссылаться на выходные данные каждого проекта отдельно в рамках проекта установки VS.
При выпуске вы получитенеобходимо выполнить сборку дважды, один раз для выпуска и один раз для пробной версии, но вы можете легко автоматизировать это с помощью MSBuild.
Чтобы облегчить бремя процесса выпуска, мы создали небольшую базу данных для хранения информации о конфигурациипродукты (местоположения решений, файлы проектов и сборки) и небольшое приложение пользовательского интерфейса, которое создает приложения, сначала изменяя версию везде, где это необходимо, а затем создавая решение для установки с помощью процесса сборки Visual Studio.
Один очень важныйобратите внимание, что я только что вспомнил, как набирал выше: в какой-то момент (возможно, это было исправлено) было невозможно построить проекты установки Visual Studio 2010 через MSBuild, поэтому мы пошли на сборку через devenv.com.