Как я могу иметь разные свойства и такие в проекте установки vs 2010 для двух разных версий выпуска? - PullRequest
2 голосов
/ 24 февраля 2011

Я хочу, чтобы в моем решении был только один проект установки, и я хочу иметь возможность устанавливать версии 'release1' и 'release2' (как в версиях debug / release1 / release2) одновременно на одном компьютере. Таким образом, версия release1 нуждается в собственной папке программы, коде продукта и ярлыках и тому подобном, а версия release2 также нуждается в собственных уникальных версиях этих вещей.

Однако, похоже, что в проекте установки не хранятся отдельные свойства для двух разных версий выпуска. Кажется, что все по-разному - это выходной путь, и, конечно, они используют разные сгенерированные exes.

Я собираюсь переехать в Wix, чтобы решить эту проблему? Или здесь есть что-то простое, чего мне не хватает? Кажется глупым, что вы не можете настроить установщик так, чтобы он делал разные вещи для двух разных версий выпуска. До сих пор похоже, что мне придется сделать еще один проект установки, что будет раздражать, потому что мне не нравится поддерживать один проект установки, не говоря уже о 2.

Заранее спасибо за помощь.

Isaac

1 Ответ

1 голос
/ 24 февраля 2011

Создание двух разных проектов установки, один из которых называется Production Setup , а другой - Test Setup , может быть самым чистым способом, поскольку заставляет ОС полагать, что вы поставляете два разных продукта, которые на самом деле дело здесь.

Переход на WiX, как вы сами предложили, действительно дает то преимущество, что вы можете повторно использовать детали в обоих ваших проектах установки, избегая, например, необходимости поддерживать один и тот же список файлов дважды.

Есть, конечно, другой вариант. Если ваши Production Setup и ваши Test Setup проекты практически идентичны, и вам нужно просто обменять некоторые GUID (например, кодом продукта или пакета, чтобы MSI считала их другой), создайте простой сценарий, который копирует первый файл проекта установки во второе местоположение и обменивается GUID в файле (который является ничем иным, как файлом XML). Таким образом, вам нужно только сохранить первый файл проекта и легко восстановить второй, повторно запустив скрипт.

Лично я делаю такие вещи в VBS, но вы также можете использовать для этого PowerShell или написать простой инструмент на любом языке, способном выполнять обработку XML или RegEx.

...