问题描述
我正在创建一个安装程序,需要在相同的“新安装”配置中多次运行。 为此,设置了以下抑制:
<InstallExecuteSequence>
<RegisterProduct Suppress="yes" />
<PublishFeatures Suppress="yes" />
<PublishProduct Suppress="yes" />
<RegisterUser Suppress="yes" />
</InstallExecuteSequence>
然而,这些会抛出以下类型的特定警告:
The action 'RegisterProduct' in the InstallExecuteSequence table is being suppressed.
由于我们的政策,“已确认”警告不会出现在我们的构建结果中,因此需要完全禁止它们。
在这种情况下,使用 <SuppressspecificWarnings>
和 <SuppressICEs>
可以轻松抑制带有 ICE 代码的警告。
<SuppressAllWarnings>
似乎也不是一个选项,因为安装程序生成的其他警告仍然必须被捕获。
WiX 是否提供封装以忽略组内的警告?
有没有办法至少捕获这些特定警告并抑制它们?
提前致谢。
解决方法
错误和警告来自两个地方:构建和验证。 ICEXX 是验证,在使用 Votive/Visual Studio 时可以在工具设置中控制。其他警告是构建警告,在“构建”选项卡上进行控制。 WiX 允许您将警告级别设置为无,但这会过滤所有警告。 Visual Studio 允许您抑制特定警告,但 WiX 似乎从未给出警告单独的代码,因此不可用。
就我个人而言,禁用或忽略任何一种类型的所有警告都会让我感到很自在。我只关注错误。这是基于 20 多年的 Windows Installer 经验。