我正在使用Microsoft Team Foundation Server来管理和部署应用程序的设置。我的设置是具有相对路径的WiX设置。
体育。组件
<Component Id="Anwendung.exe" Directory="INSTALLLOCATION" Guid="*">
<File Id="Anwendung.exe" KeyPath="yes" Source="$(var.SourceFiles)Anwendung.exe" />
</Component>
变量.wxi:
<Include>
<?define SourceFiles = "..OutputFiles"?>
</Include>
设置正在正确生成。问题:我正在使用Torch和Pyro为我的应用程序生成补丁。我使用的是一个纯Wix补丁项目,带有操纵的构建事件和附加的链接器信息
(预构建-Torch)(后期构建-Pyro)(链接器附加参数-输出为wixmsp)
当我构建修补程序时,我会遇到579次失败。(1x)
错误776命令"C:\Program Files(x86)\WiX Toolset v3.8\bin\pyro.exe"Patch.wixmsp-out Patch.msp-t AnwendungBaseline diff.wixmst退出,返回代码103
和(578x)
错误322系统找不到文件"。。\SourceFiles\Anwendung.exe'.C:\Patch\Client\Upgrade\Setup\ComponentMain.wxs
我确信它没有正确解析源设置中的路径。有人能帮我吗?Rob Arnson,Rob Mensching,Heath Steward?请:)
要解决此类问题,您可以为TFS编写一个自定义构建活动,用完全限定的路径更新WiX配置文件中的变量。例如,您可以创建一个构建活动,该活动接受配置文件的路径、变量的名称和该变量的值,然后将新值写入配置文件。您可以将具有相对路径的配置文件检查到源代码管理中,但随后生成会更新配置文件,使其仅为生成使用完全限定的路径。
如果你不熟悉创建自定义构建活动,这里有一个很棒的博客系列。链接适用于TFS 2010,但过程与TFS 2012类似。