0

我正在使用 Microsoft Team Foundation Server 来管理和部署我的应用程序的设置。我的设置是具有相对路径的 WiX 设置。

pe 组件

<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)

当我构建我的补丁时,我得到 579Failures。(1x)

错误 776 命令 ""C:\Program Files (x86)\WiX Toolset v3.8\bin\pyro.exe" Patch.wixmsp -out Patch.msp -t AnwendungBaseline diff.wixmst" 退出,代码为 103。C
:\程序文件 (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets

和 (578x)

错误 322 系统找不到文件 '..\SourceFiles\Anwendung.exe'。C:\Patch\Client\Upgrade\Setup\ComponentMain.wxs

我确定它没有正确解析 sourcesetups 的路径。有人可以帮助我吗?罗伯·阿恩森、罗伯·门兴、希斯·斯图尔特?请 :)

4

1 回答 1

0

要解决此类问题,您可以为 TFS 编写自定义构建活动,以使用完全限定的路径更新 WiX 配置文件中的变量。例如,您可以创建一个构建活动,该活动接受配置文件的路径、变量的名称和该变量的值,然后将新值写入配置文件。您可以将配置文件与相对路径签入源代码管理,但随后构建将更新配置文件以使用完全限定路径仅用于构建。

如果您不熟悉创建自定义构建活动,这里有一个很棒的博客系列。该链接适用于 TFS 2010,但该过程与 TFS 2012 类似。

于 2014-02-18T04:23:44.097 回答