我最近升级了一个用Visual Studio 2015构建的项目。我使用Wix为我的项目构建了安装程序,并将Microsoft CRT合并模块与我的项目一起发布。有一个已知问题,light.exe可以发出有关Microsoft提供的合并模块中使用的某些GUID的警告:
light.exe : warning LGHT1076: ICE03: String overflow (greater than length permitted in column); Table: File, Column:
File, Key(s): api_ms_win_crt_filesystem_l1_1_0.dll.71E1EC1A_562B_3AD1_94CD_84420ED4073F [v:\VS2015\DataNow\Installer\To
olsInstaller\Toolbox.wixproj]
我已经读过这可能是这些合并模块(http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/install_vcredist.html)的已知问题,并且警告是良性的。但是,我想通过传递来禁止警告:
-sw 1076
到light.exe但我无法弄清楚如何使用.wixproj visual studio Wix文件将自定义参数传递给light.exe。
有谁知道如何实现这一目标?
答案 0 :(得分:0)
Ahaha,
我终于找到了解决方案。我不需要将参数传递给light.exe,因为.wixproj中有一个部分可用于抑制这些警告:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<SuppressAllWarnings>False</SuppressAllWarnings>
<OutputPath>$(SolutionDir)Publish\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
<LinkerAdditionalOptions>"$(WixToolPath)difxapp_$(Platform).wixlib"</LinkerAdditionalOptions>
<SuppressSpecificWarnings>1055;1056;1076</SuppressSpecificWarnings>
<SuppressIces>ICE80;ICE82</SuppressIces>
</PropertyGroup>