修补程序的Windows Installer XML相对路径



我正在使用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类似。

最新更新