Построить модуль слияния без Devenv из .vdproj

Я прочитал несколько вопросов о Stackoverflow о создании модулей слияния через командную строку, но все они были приняты, когда кто-то предложил использовать devenv для компиляции или использовать Dark для создания wix-файлов из существующих msi-файлов.

Учитывая следующее:

  • VisualStudio не установлен на сервере сборки, который мне приходится использовать.
  • Я использую nant + msbuild для компиляции решений
  • Я хотел бы скомпилировать модули слияния из .vdproj (потому что Visual Studio автоматически определяет зависимости)
  • и создайте установку msi из нескольких модулей слияния

... как я могу создать модули слияния из командной строки без devenv и без потери комфорта автоматического разрешения зависимостей для модулей слияния в visualstudio? Может быть, я не нашел для этого какой-то задачи?


person tobsen    schedule 08.10.2009    source источник


Ответы (4)


MSBuild не поддерживает проекты развертывания Visual Studio, я бы посоветовал укусить пулю и пойти с Wix.

Возможно, VS2010 будет использовать схему MSBuild для файлов vdproj? Думаю, что нет, но ссылок не нашел.

person si618    schedule 09.10.2009
comment
Есть ли удобный способ создания модулей слияния? Я не очень хочу собирать много XML вручную. - person tobsen; 09.10.2009
comment
Модули слияния создаются так же, как и обычные файлы MSI, только с изменением свойств. Вы можете использовать "heat" для сбора файлов, см. wix.mindcapers.com/wiki/Heat - person si618; 06.11.2009
comment
Спасибо что подметил это. Однако это действительно раздражает, имо: однако, нагрев значительно менее полезен после начальной настройки проекта, потому что нет способа сохранить идентификаторы GUID компонентов при повторении процесса для получения новых файлов. - person tobsen; 20.11.2009
comment
Ах, я не так много работал с теплом, но я знаю, что если вы пойдете с подходом по одному файлу на компонент, тогда можно будет использовать подстановочный знак для вашего GUID. Есть несколько правил и предостережений, но, возможно, вы могли бы попробовать какой-нибудь процесс пост-нагрева (регулярное выражение) для подстановки ваших GUID? - person si618; 21.11.2009
comment
Я реализовал его работу для себя Rerf: 1. stackoverflow.com/questions/2880009/ stackoverflow.com/questions/8648428/ - person Rajamohan Rajendran; 04.05.2018

в настоящее время это невозможно сделать с помощью msbuild. но я почти уверен, что вам это может быть интересно статья в блоге MSDN из-за вашего вопроса, связанного с проектами слияния модулей / настроек в vs. Похоже, они не будут продолжать для поддержки файлов .vdproj в следующих версиях Visual Studio (2010 будет последней с их поддержкой).

Таким образом, вы можете столкнуться с проблемами в будущем, даже если вы используете devenv вместо msbuild.

... но эта статья тоже может быть шепотом. В любом случае, есть много альтернатив, если вы хотите создавать сетапы.

person Beachwalker    schedule 01.09.2011

Даже я столкнулся с той же проблемой. Используйте формат ниже

вызовите "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat"

cd /d Path_to_sln

"C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.com" "Required_path \ solution.sln" / Project "Required_path \ Setup \ Setup.vdproj" / Build Release / Out "Required_Path \ vs_errors .текст"

person Vivek Raj    schedule 16.08.2019

Я был бы очень удивлен, если бы вы могли создавать файлы .vdproj без установки Visual Studio.

person Sayed Ibrahim Hashimi    schedule 09.10.2009
comment
Фейсал Мохамуд MSFT, менеджер группы MSBuild, сказал: [...] проекты развертывания не поддерживаются с помощью задачи MSBuild, [...] Мы планируем работать над включением этого сценария в одном из будущих выпусков. Он сказал это много лет назад в беседе на msdn snurl.com/seu1c. Так что я бы ничуть не удивился. На самом деле я удивлен, что MSBuild по-прежнему не может скомпилировать vdproj. - person tobsen; 09.10.2009
comment
Отрезанная ссылка больше не работает. Вот неотмеченная ссылка: social.msdn.microsoft.com/Forums/en-US/msbuild/thread/ - person tobsen; 19.04.2011