Wix内阁缓存不起作用

Jef*_*eff 5 windows-installer wix

我似乎无法让wix cabinet缓存工作.

我有

  <PropertyGroup>
    <CabinetCreationThreadCount>3</CabinetCreationThreadCount>
    <CabinetCachePath>cabs</CabinetCachePath>
    <ReuseCabinetCache>True</ReuseCabinetCache>
  </PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

在wixproj.

<Media Id="1" Cabinet="contents.cab" EmbedCab="yes" CompressionLevel="mszip"/>

<Media Id="2" Cabinet="static.cab" EmbedCab="yes" CompressionLevel="mszip"/>
Run Code Online (Sandbox Code Playgroud)

在wxs中

和我所知道的100%永远不会改变标记的组件

     <Component DiskId="2" ...
Run Code Online (Sandbox Code Playgroud)

我看到cabs目录中生成的cab文件,但每次构建时,我都会看到cab文件更改的修改时间,这表明它重新生成了cabinet,而不是重用缓存中的那个.

使用Wix 3.6

我怎样才能使这个工作或进一步调试问题?

Hea*_*ath 0

您正在建造还是重建(即/t:build/t:rebuild)?WiX 导入将在重建时删除生成的文件。即使您只是在构建,也有可能发生这种情况。通过传递到 MSBuild 生成详细日志/v:diag,但请确保重定向到如下文件:

msbuild /t:build /v:diag
Run Code Online (Sandbox Code Playgroud)

如果没有显示 CAB 文件被删除,我建议查看http://wixtoolset.org以获得他们的支持频道。