Azure devops 使用WiX工具集->;带有Azure DevOps管道的Torch.exe不工作

Azure devops 使用WiX工具集->;带有Azure DevOps管道的Torch.exe不工作,azure-devops,wix,azure-pipelines,Azure Devops,Wix,Azure Pipelines,我正在使用Azure DevOps服务管道创建设置。此管道创建MSI和wixpdb。然后我在命令行脚本中调用torch.exe,从两个不同的wixpdb创建补丁。这在本地工作没有问题,但当我在Azure DevOps服务管道中的命令行脚本中调用torch.exe时,我得到以下错误: torch.exe:错误TRCH0001:找不到路径“C:\temp\Agent\4\s\test\udmonxof\udmonxof.cab”的一部分 我可以做些什么来实现这一点?默认情况下,项目应该生成三个文件,

我正在使用Azure DevOps服务管道创建设置。此管道创建MSI和wixpdb。然后我在命令行脚本中调用torch.exe,从两个不同的wixpdb创建补丁。这在本地工作没有问题,但当我在Azure DevOps服务管道中的命令行脚本中调用torch.exe时,我得到以下错误:

torch.exe:错误TRCH0001:找不到路径“C:\temp\Agent\4\s\test\udmonxof\udmonxof.cab”的一部分


我可以做些什么来实现这一点?

默认情况下,项目应该生成三个文件,
.msi
.cab
.wixpdb
文件

对于azure devops管道,它需要这三个文件都存在,这样才能成功创建补丁。但是在您的场景中,我们的系统无法在那里找到
.cab
文件

因此,首先,请确保
.cab
文件在创建MSI和wixpdg文件时也已成功生成

假设
WXS
文件中有一个媒体参数,请确保
EmbedCab
值为no

样本:

<Media Id="1"
       Cabinet="media1.cab"
       EmbedCab="no"
       DiskPrompt="Disk 1"
       VolumeLabel="Disk1" />

<Media Id="2"
       Cabinet="media2.cab"
       EmbedCab="no"
       DiskPrompt="Disk 2" 
       VolumeLabel="Disk2" />

我已解决了以下问题:

这帮助了我:

我已在命令行脚本中将以下条目添加到注册表:

[HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\.NETFramework\AppContext] “Switch.System.DisableTempFileCollectionDirectoryFeature”=“true”

[HKEY\U LOCAL\U MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\AppContext] “Switch.System.DisableTempFileCollectionDirectoryFeature”=“true”

之后,我调用了torch.exe,不再出现错误