Я пытался найти ответ на свой вопрос и не мог его найти; поэтому я помещу решение здесь. Я надеюсь, что это поможет другим.
Я хочу, чтобы мой проект Wix был встроен в процесс сборки TFS 2010. В рамках этого я хочу, чтобы расположение исходных файлов для моего Wix указывало на расположение сборки TFS. Например, я хочу:
быть:
TFSLOCATION - это свойство wix, в которое необходимо указать расположение сборки TFS. Это должно произойти во время процесса сборки, когда путь к месту сборки передается проекту Wix.
Я прочитал следующую статью:
http://www.ageektrapped.com/blog/ setting-properties-for-wix-in-msbuild /
Вот что я сделал с моим файлом проекта Wix (wixproj):
Чтобы установить свойство wix из процесса TFS MSBuild, файлу проекта wix требуется два изменения:
Debug
3.5
UNKNOWN
{cae7e273-2de5-4a60-9c4f-9da5f094caf5}
2.0
N4S.MSO.BAM.Installer
Package
$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets
$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets
SAK
SAK
SAK
SAK
bin\$(Configuration)\
obj\$(Configuration)\
LOCATION=$(SourceLocation)
В приведенном выше xml обратите внимание на следующие две строки:
UNKNOWN
LOCATION=$(SourceLocation)
Первая строка определяет свойство SourceLocation и устанавливает для него значение по умолчанию «UNKNOWN», если оно равно не установлен. Вторая строка определяет константу под названием «LOCATION» в конфигурации «Release». Значение этой константы устанавливается равным значению свойства SourceLocation.
Теперь вам необходимо внести следующие изменения в ваш файл Product.wxs (или любое другое имя вашего файла wxs).
String.Format("/p:SourceLocation={0}", BinariesDirectory)
Теперь у вас есть свойство wix, заполненное в процессе сборки TFS.