首页 > 解决方案 > 如何在没有 ICE 代码的情况下抑制 WiX 警告?

问题描述

我正在创建一个需要在相同的“新安装”配置中运行多次的安装程序。为此,设置了以下抑制:

<InstallExecuteSequence>
  <RegisterProduct Suppress="yes" />
  <PublishFeatures Suppress="yes" />
  <PublishProduct Suppress="yes" />
  <RegisterUser Suppress="yes" />
</InstallExecuteSequence>

但是,这些会引发以下类型的特定警告:

The action 'RegisterProduct' in the InstallExecuteSequence table is being suppressed.   

由于我们的政策,“已确认”警告无法显示在我们的构建结果中,因此需要完全禁止它们。

带有 ICE 代码的警告可以很容易地被抑制,<SuppressSpecificWarnings><SuppressICEs>这种情况下,两者都不能使用。

<SuppressAllWarnings>似乎也不是一个选项,因为仍然必须捕获安装程序生成的其他警告。

WiX 是否提供封装以忽略组内的警告?

有没有办法至少捕获这些特定的警告并抑制它们?

提前致谢。

标签: installationwixwix3.11

解决方案


错误和警告来自两个地方:构建和验证。ICEXX 是验证,并且在使用 Votive/Visual Studio 时可在工具设置中控制。其他警告是构建警告,并在构建选项卡上进行控制。WiX 允许您将警告级别设置为无,但这会过滤所有警告。Visual Studio 允许您抑制特定警告,但 WiX 似乎从未给出警告单独的代码编号,因此这不可用。

就个人而言,我会觉得禁用或忽略任何一种类型的所有警告都很舒服。我只关注错误。这是基于 20 多年的 Windows Installer 经验。


推荐阅读